<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5767541029717064611</id><updated>2011-11-27T16:25:31.972-08:00</updated><category term='JEE5'/><category term='Creational'/><category term='Design patterns'/><category term='Objectives'/><category term='GOF patterns'/><category term='SCEA5'/><category term='Architecture'/><category term='J2EE'/><category term='SCEA5 Beta'/><category term='Software Design'/><category term='Books'/><title type='text'>Enterprise Architect</title><subtitle type='html'>This blog is mainly for the Preparation  Sun certified Enterprise Architect Exam.This Site include  Tutorials ,Mock Questions  and Samples about the Exam.Current Exam is for Java Enterprise Edition 2 (J2EE) but Sun will Update Exam for JavaEE5.Recently  beta  Exam  Started and  blog  more  focus on  JavaEE5  topics.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-7750356536931482903</id><published>2008-09-18T20:35:00.001-07:00</published><updated>2008-09-18T20:49:29.837-07:00</updated><title type='text'>Creational patterns </title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="OneNote.File"&gt;&lt;meta name="Generator" content="Microsoft OneNote 12"&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;This design patterns is all about class instantiation. This pattern can be further divided into class-creation patterns and object-creational patterns. While class-creation patterns use inheritance effectively in the instantiation process, object-creation patterns use delegation effectively to get the job done.&lt;/p&gt;  &lt;ul style="margin-left: 0.75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;" type="disc"&gt;&lt;li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"&gt;&lt;a href="http://sourcemaking.com/design_patterns/abstract_factory"&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;Abstract Factory&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;&lt;br /&gt;          Creates an instance of several families of classes&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"&gt;&lt;a href="onenote:#Builder%20Pattern-Q&amp;amp;section-id=%7BC49F2309-37CB-4105-9D95-C9E6AA467587%7D&amp;amp;page-id=%7B1F6A15CF-899E-4389-937C-4DB9D62C4375%7D&amp;amp;object-id=%7BC8703515-8E67-4DBC-A070-30475C229230%7D&amp;amp;25&amp;amp;base-path=C:%5CUsers%5Cwaruna%5CDocuments%5COneNote%20Notebooks%5CDesignPatterns%5CDesignPatterns%5CDesign%20Patterns.one"&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;Builder&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="margin: 0in 0in 0in 0.75in; font-family: Calibri; font-size: 11pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;Separates object construction from its representation&lt;/p&gt;  &lt;ul style="margin-left: 0.75in; direction: ltr; unicode-bidi: embed; margin-top: 0in; margin-bottom: 0in;" type="disc"&gt;&lt;li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"&gt;&lt;a href="http://sourcemaking.com/design_patterns/factory_method"&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;Factory Method&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;&lt;br /&gt;          Creates an instance of several derived classes&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"&gt;&lt;a href="http://sourcemaking.com/design_patterns/object_pool"&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;Object Pool&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;&lt;br /&gt;          Avoid expensive acquisition and release of resources by recycling      objects that are no longer in use&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"&gt;&lt;a href="http://sourcemaking.com/design_patterns/prototype"&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;Prototype&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;&lt;br /&gt;          A fully initialized instance to be copied or cloned&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 0pt; margin-bottom: 0pt; vertical-align: middle;"&gt;&lt;a href="http://sourcemaking.com/design_patterns/singleton"&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;Singleton&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Calibri; font-size: 11pt;"&gt;&lt;br /&gt;          A class of which only a single instance can exist&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt; &lt;/p&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;In software engineering, creational design patterns are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. The basic form of object creation could result in design problems or added complexity to the design. Creational design patterns solve this problem by somehow controlling this object creation.&lt;/p&gt;  &lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-7750356536931482903?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/7750356536931482903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=7750356536931482903' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/7750356536931482903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/7750356536931482903'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/09/creational-patterns.html' title='Creational patterns '/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-5089997011069475424</id><published>2008-07-22T05:50:00.000-07:00</published><updated>2008-07-22T05:55:27.082-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Design'/><title type='text'>COMMON ARCHITECTURES</title><content type='html'>&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;Architecture&lt;/span&gt;&lt;span style="font-size:85%;"&gt; is a set of structuring principles that enables a system to be comprised of a set of simpler systems each with its own local context that is independent of but not inconsistent with the context of the larger system as a whole. [Sun Microsystems, Inc.]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Software Architecture &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Software architecture is the structure of structures and take away the functions that implement business requirements and what remains is architecture. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Description of a structural framework to help the design of the application.&lt;/span&gt;&lt;br /&gt;The description of a development environment and deployment configuration that supports the non-functional requirements of a software application.&lt;br /&gt;A software architect is most active during the early stages of development but must participate during the entire development lifecycle of a product.&lt;br /&gt;Architecture is developed and described somewhere between when a vision for the product is developed and before construction begins.&lt;br /&gt;The software architecture must be baselined (agreed on by all stakeholders) before construction begins because a change in the architecture usually has vast consequences.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Architectural considerations:&lt;/span&gt; An architecture can be assessed using the following qualitative measures:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A non-functional requirement&lt;/span&gt; is one that is specified for a software system and does not pertain to a business function to be developed in the system.&lt;br /&gt;Non-Functional requirements are usually quality attributes for the software system.&lt;br /&gt;Also called service-level requirements or Quality of Service (QoS) requirements or Non-functional requirements&lt;br /&gt;During the inception and elaboration phases, architect works with defining the quality of service measurement for these QoS reqs.&lt;br /&gt;One has to make trade-offs between these requirements (For example, if the most important service-level requirement is the performance of the system, you might sacrifice the maintainability and extensibility of the system to ensure that you meet the performance quality of service)&lt;br /&gt;1&lt;span style="font-weight: bold;"&gt;.Scalability &lt;/span&gt;&lt;br /&gt;2.&lt;span style="font-weight: bold;"&gt;Maintainability &lt;/span&gt;&lt;br /&gt;3.&lt;span style="font-weight: bold;"&gt;Reliability &lt;/span&gt;&lt;br /&gt;4.&lt;span style="font-weight: bold;"&gt;Availability &lt;/span&gt;&lt;br /&gt;5.&lt;span style="font-weight: bold;"&gt;Extensibility &lt;/span&gt;&lt;br /&gt;6.&lt;span style="font-weight: bold;"&gt;Performance &lt;/span&gt;&lt;br /&gt;7.&lt;span style="font-weight: bold;"&gt;Manageability &lt;/span&gt;&lt;br /&gt;8.&lt;span style="font-weight: bold;"&gt;Security &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-5089997011069475424?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/5089997011069475424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=5089997011069475424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/5089997011069475424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/5089997011069475424'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/07/common-architectures.html' title='COMMON ARCHITECTURES'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-8045199374811428077</id><published>2008-03-27T21:03:00.000-07:00</published><updated>2008-03-27T21:06:03.367-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Design'/><title type='text'>Design Principles</title><content type='html'>&lt;h2&gt;What are Software Design Principles?&lt;/h2&gt;  &lt;p&gt;Software design principles represent a set of guidelines that helps us to avoid having a bad design. The design principles are associated to Robert Martin who gathered them in "Agile Software Development: Principles, Patterns, and Practices". According to Robert Martin there are 3 important characteristics of a bad design that should be avoided:&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Rigidity - It is hard to change because every change affects too many other parts of the system.&lt;/li&gt;&lt;li&gt;Fragility - When you make a change, unexpected parts of the system break.&lt;/li&gt;&lt;li&gt;Immobility - It is hard to reuse in another application because it cannot be disentangled from the current application.&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;&lt;a href="http://www.oodesign.com/open-close-principle.html"&gt;Open Close Principle&lt;/a&gt;&lt;/h2&gt; &lt;i&gt;&lt;ul&gt;&lt;li&gt;Software entities like classes, modules and functions should be &lt;b&gt;open for extension&lt;/b&gt; but &lt;b&gt;closed for modifications.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/i&gt; &lt;p&gt;OPC is a generic principle. You can consider it when writing your classes to make sure that when you need to extend their behavior you don’t have to change the class but to extend it. The same principle can be applied for modules, packages, libraries. If you have a library containing a set of classes there are many reasons for which you’ll prefer to extend it without changing the code that was already written (backward compatibility, regression testing, …). This is why we have to make sure our modules follow Open Closed Principle.&lt;/p&gt; &lt;p&gt;When referring to the classes Open Close Principle can be ensured by use of Abstract Classes and concrete classes for implementing their behavior. This will enforce having Concrete Classes extending Abstract Classes instead of changing them. Some particular cases of this are Template Pattern and Strategy Pattern.&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://www.oodesign.com/dependency-inversion-principle.html"&gt;Dependency Inversion Principle&lt;/a&gt;&lt;/h2&gt; &lt;i&gt;&lt;ul&gt;&lt;li&gt;High-level modules should not depend on low-level modules. Both should depend on abstractions.&lt;/li&gt;&lt;li&gt;Abstractions should not depend on details. Details should depend on abstractions.&lt;/li&gt;&lt;/ul&gt;&lt;/i&gt; &lt;p&gt;Dependency Inversion Principle states that we should decouple high level modules from low level modules, introducing an abstraction layer between the high level classes and low level classes. Further more it inverts the dependency: instead of writing our abstractions based on details, the we should write the details based on abstractions.&lt;/p&gt; &lt;p&gt;Dependency Inversion or Inversion of Control are better know terms referring to the way in which the dependencies are realized. In the classical way when a software module(class, framework, …) need some other module, it initializes and holds a direct reference to it. This will make the 2 modules tight coupled. In order to decouple them the first module will provide a hook(a property, parameter, …) and an external module controlling the dependencies will inject the reference to the second one.&lt;/p&gt; &lt;p&gt;By applying the Dependency Inversion the modules can be easily changed by other modules just changing the dependency module. Factories and Abstract Factories can be used as dependency frameworks, but there are specialized frameworks for that, known as Inversion of Control Container.&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://www.oodesign.com/interface-segregation-principle.html"&gt;Interface Segregation Principle&lt;/a&gt;&lt;/h2&gt; &lt;i&gt;&lt;ul&gt;&lt;li&gt;Clients should not be forced to depend upon interfaces that they don't use.&lt;/li&gt;&lt;/ul&gt;&lt;/i&gt; &lt;p&gt;This principle teaches us to take care how we write our interfaces. When we write our interfaces we should take care to add only methods that should be there. If we add methods that should not be there the classes implementing the interface will have to implement those methods as well. For example if we create an interface called Worker and add a method lunch break, all the workers will have to implement it. What if the worker is a robot?&lt;/p&gt; &lt;p&gt;As a conclusion Interfaces containing methods that are not specific to it are called polluted or fat interfaces. We should avoid them.&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://www.oodesign.com/single-responsibility-principle.html"&gt;Single Responsibility Principle&lt;/a&gt;&lt;/h2&gt; &lt;i&gt;&lt;ul&gt;&lt;li&gt;A class should have only one reason to change.&lt;/li&gt;&lt;/ul&gt;&lt;/i&gt; &lt;p&gt;In this context a responsibility is considered to be one reason to change. This principle states that if we have 2 reasons to change for a class, we have to split the functionality in two classes. Each class will handle only one responsibility and on future if we need to make one change we are going to make it in the class which handle it. When we need to make a change in a class having more responsibilities the change might affect the other functionality of the classes.&lt;/p&gt; &lt;p&gt;Single Responsibility Principle was introduced Tom DeMarco in his book Structured Analysis and Systems Specification, 1979. Robert Martin reinterpreted the concept and defined the responsibility as a reason to change.&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://www.oodesign.com/liskov-s-substitution-principle.html"&gt;Liskov's Substitution Principle&lt;/a&gt;&lt;/h2&gt; &lt;i&gt;&lt;ul&gt;&lt;li&gt;Derived types must be completely substitutable for their base types.&lt;/li&gt;&lt;/ul&gt;&lt;/i&gt; &lt;p&gt;This principle is just an extension of the Open Close Principle in terms of behavior meaning that we must make sure that new derived classes are extending the base classes without changing their behavior. The new derived classes should be able to replace the base classes without any change in the code.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Liskov's Substitution Principle was introduced by Barbara Liskov in a 1987 Conference on Object Oriented Programming Systems Languages and Applications, in &lt;a href="http://portal.acm.org/citation.cfm?id=62141"&gt;Data abstraction and hierarchy&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;from &lt;a href="http://www.oodesign.com/design-principles.html"&gt;http://www.oodesign.com/design-principles.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=62141"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-8045199374811428077?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/8045199374811428077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=8045199374811428077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/8045199374811428077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/8045199374811428077'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/03/design-principles.html' title='Design Principles'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-2540325754709383920</id><published>2008-02-06T22:29:00.000-08:00</published><updated>2008-02-06T22:32:18.299-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCEA5'/><title type='text'>SCEA 5 Released</title><content type='html'>&lt;span style="font-family:Verdana, Arial;font-size:85%;"&gt;&lt;a href="http://www.sun.com/training/certification/java/scea.xml" target="_blank" rel="nofollow"&gt;http://www.sun.com/training/certification/java/scea.xml&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-2540325754709383920?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/2540325754709383920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=2540325754709383920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/2540325754709383920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/2540325754709383920'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/02/scea-5-released.html' title='SCEA 5 Released'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-322431391506563924</id><published>2008-02-06T22:27:00.000-08:00</published><updated>2008-02-06T22:58:48.462-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='SCEA5 Beta'/><title type='text'>SCEA 5 BEta Exam Resources List</title><content type='html'>&lt;span style=";font-family:Verdana,Arial;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt;Recommended Readings&lt;br /&gt;&lt;br /&gt;UML Distilled&lt;/span&gt; - by Martin Fowler&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java Design (Objects, UML, and Process) &lt;/span&gt;- by Kirk Knoernschild&lt;br /&gt;                                                                   Addison-Wesley (2002)&lt;br /&gt;                                                                   ISBN 0-201-75044-9&lt;br /&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/WebServices/soa3/"&gt;Web Services For SOA&lt;/a&gt; - sun article&lt;a href="http://java.sun.com/developer/technicalArticles/WebServices/soa3/" target="_blank"&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana,Arial;font-size:85%;"  &gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SOA Using Java Web Services (Paperback)&lt;/span&gt; - by Mark D. Hansen&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Developing Java Web Services&lt;/span&gt;:&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;Architecting and Developing Secure Web Services Using Java&lt;/span&gt; - by Ramesh Nagappan, Robert Skoczylas,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.EnterpriseIntegrationPatterns.com/"&gt;&lt;span style="font-weight: bold;font-family:Verdana,Arial;font-size:85%;"  &gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:Verdana,Arial;font-size:85%;"  &gt;&lt;a target="_blank"&gt;EnterpriseIntegrationPatterns&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana,Arial;font-size:85%;"  &gt;&lt;a href="http://www.enterpriseintegrationpatterns.com/" target="_blank"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Enterprise Java Beans&lt;/span&gt; - by Richard Monson-Haefel&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java Enterprise in a Nutshell &lt;/span&gt;- by David Flanagan, Jim Farley, William Crawford, Kris Magnusson&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;EJB v3.0 spec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;EJB v2.1 spec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Core Servlets and JavaServer Pages,&lt;/span&gt; Vol. 1 (2nd Edition) - by Marty Hall, Larry Brown&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Core Servlets and JavaServer Pages,&lt;/span&gt; Vol. 2 (2nd Edition) - by Marty Hall, Larry Brown, and Yaakov Chaikin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Core JavaServer Faces&lt;/span&gt; (2nd Edition) - by David Geary, Cay S. Horstmann&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Servlet v2.5 spec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;JSP v1.2 spec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;JSF v1.1 spec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Designing Enterprise Applications with the Java 2 Platform&lt;/span&gt;, Enterprise Edition - by Nicholas Kassem, Enterprise&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java 2 Platform, Enterprise Edition: Platform and Component Specifications&lt;/span&gt; - by Bill Shannon, Mark Hapner, Vlada Matena, Eduardo Pelegri-Llopart, Larry Cable, James Davidson&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Enterprise Blueprints&lt;/span&gt;: &lt;a href="http://java.sun.com/blueprints/enterprise/" target="_blank"&gt;http://java.sun.com/blueprints/enterprise/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java EE 5 Performance Management and Optimization (Pro) &lt;/span&gt;- by Steven Haines&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Design Patterns and Contracts&lt;/span&gt; - by Jean-Marc Jezequel, by Michel Train and Christine mingins&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;Design Patterns&lt;/span&gt; - by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Core J2EE Patterns&lt;/span&gt;: &lt;a href="http://java.sun.com/blueprints/corej2eepatterns/," target="_blank"&gt;http://java.sun.com/blueprints/corej2eepatterns/,&lt;/a&gt; &lt;a href="http://www.corej2eepatterns.com/" target="_blank"&gt;http://www.corej2eepatterns.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Core J2EE Patterns&lt;/span&gt;: Best Practices and Design Strategies (2nd Edition) - Deepak Alur, John Crupi and Dan Malks&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;J2EE Blueprints&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java 2 Network Security,&lt;/span&gt; by Marco Pistoia, Duane F. Reller, Deepak Gupta, Milind Nagnur, Ashok K. Ramani&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Core Security Patterns:&lt;/span&gt; Best Practices and Strategies for J2EE, Web Services, and Identity Managemen&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-322431391506563924?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/322431391506563924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=322431391506563924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/322431391506563924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/322431391506563924'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/02/scea-5-beta-exam-resources-list.html' title='SCEA 5 BEta Exam Resources List'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-1770706573714043591</id><published>2008-01-31T22:53:00.000-08:00</published><updated>2008-12-10T21:07:17.205-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Design patterns'/><title type='text'>Design Patterns Higer Level Diagram</title><content type='html'>&lt;a href="http://sourcemaking.com/design_patterns"&gt;&lt;b&gt;Design pattern&lt;/b&gt;&lt;/a&gt; is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7F_2-HywXWM/R6LDBFwUCAI/AAAAAAAAADQ/K5_chC0Xsus/s1600-h/patterns.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_7F_2-HywXWM/R6LDBFwUCAI/AAAAAAAAADQ/K5_chC0Xsus/s400/patterns.png" alt="" id="BLOGGER_PHOTO_ID_5161902546412111874" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-1770706573714043591?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/1770706573714043591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=1770706573714043591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/1770706573714043591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/1770706573714043591'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/design-patterns-higer-level-diagram.html' title='Design Patterns Higer Level Diagram'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7F_2-HywXWM/R6LDBFwUCAI/AAAAAAAAADQ/K5_chC0Xsus/s72-c/patterns.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-3441139306268379409</id><published>2008-01-24T01:11:00.001-08:00</published><updated>2008-12-10T21:07:17.526-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GOF patterns'/><title type='text'>GOF Patterns</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7F_2-HywXWM/R5hW5VwUB-I/AAAAAAAAACk/RdYV4A9qtdI/s1600-h/designpatterns1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_7F_2-HywXWM/R5hW5VwUB-I/AAAAAAAAACk/RdYV4A9qtdI/s400/designpatterns1.jpg" alt="" id="BLOGGER_PHOTO_ID_5158968916245219298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7F_2-HywXWM/R5hW6FwUB_I/AAAAAAAAACs/XU-7yyOKVuM/s1600-h/designpatterns2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_7F_2-HywXWM/R5hW6FwUB_I/AAAAAAAAACs/XU-7yyOKVuM/s400/designpatterns2.jpg" alt="" id="BLOGGER_PHOTO_ID_5158968929130121202" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-3441139306268379409?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/3441139306268379409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=3441139306268379409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/3441139306268379409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/3441139306268379409'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/gof-patterns.html' title='GOF Patterns'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7F_2-HywXWM/R5hW5VwUB-I/AAAAAAAAACk/RdYV4A9qtdI/s72-c/designpatterns1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-1996670946205514223</id><published>2008-01-10T22:20:00.000-08:00</published><updated>2008-12-10T21:07:17.931-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GOF patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Creational'/><title type='text'>Prototype Pattern</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7F_2-HywXWM/R4cOuaQ8UtI/AAAAAAAAACM/PhnPV_z9gH8/s1600-h/prototype"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_7F_2-HywXWM/R4cOuaQ8UtI/AAAAAAAAACM/PhnPV_z9gH8/s400/prototype" alt="" id="BLOGGER_PHOTO_ID_5154104489035977426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Intent:&lt;/span&gt;&lt;br /&gt;Specifies the kinds of objects to create using a prototypical instance and creates&lt;br /&gt;new objects by copying this prototype.&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Description:&lt;/span&gt;&lt;br /&gt;The Prototype pattern allows an object to create customized objects without knowing&lt;br /&gt;their exact class or the details of how to create them. The Prototype pattern gives&lt;br /&gt;prototypical objects to an object and then initiates the creation of objects. The&lt;br /&gt;creation-initiating object then creates objects by asking the prototypical objects to&lt;br /&gt;make copies of them.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Benefits:&lt;/span&gt;&lt;br /&gt;       • Hides the concrete product classes from the client.&lt;br /&gt;       • Adding and removing products at runtime.&lt;br /&gt;       • Specifying new objects by varying values.&lt;br /&gt;       • Specifying new objects by varying structure.&lt;br /&gt;       • Reduced subclassing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-1996670946205514223?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/1996670946205514223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=1996670946205514223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/1996670946205514223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/1996670946205514223'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/prototype-pattern.html' title='Prototype Pattern'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7F_2-HywXWM/R4cOuaQ8UtI/AAAAAAAAACM/PhnPV_z9gH8/s72-c/prototype' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-5731837247676006023</id><published>2008-01-07T00:28:00.000-08:00</published><updated>2008-01-07T00:34:30.616-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JEE5'/><category scheme='http://www.blogger.com/atom/ns#' term='SCEA5'/><category scheme='http://www.blogger.com/atom/ns#' term='SCEA5 Beta'/><category scheme='http://www.blogger.com/atom/ns#' term='Objectives'/><title type='text'>SCEA 5 Testing Objectives "DRAFT" -beta</title><content type='html'>&lt;span style="font-family:Verdana, Arial;font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;SCEA 5 Multiple Choice Testing Objectives "DRAFT" -beta&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 1:  Application Design Concepts and Principles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1.1Explain the main advantages of an object oriented approach to system design including the effect of encapsulation, inheritance, delegation, and the use of interfaces, on architectural characteristics.&lt;br /&gt;1.2Describe how the principle of “separation of concerns” has been applied to the main system tiers of a Java EE application. Tiers include client (both GUI and web), web (web container), business (EJB container), integration, and resource tiers.&lt;br /&gt;1.3Describe how the principle of “separation of concerns” has been applied to the layers of a Java EE application. Layers include application, virtual platform (component APIs), application infrastructure (containers), enterprise services (operating system and virtualization), compute and storage, and the networking infrastructure layers.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 2:Common Architectures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2.1Explain the advantages and disadvantages of two tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.&lt;br /&gt;2.2Explain the advantages and disadvantages of three tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security&lt;br /&gt;2.3Explain the advantages and disadvantages of multi-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.&lt;br /&gt;2.4Explain the benefits and drawbacks of rich clients and browser-based clients as deployed in a typical Java EE application.&lt;br /&gt;2.5Explain appropriate and inappropriate uses for Web Services in the Java EE Platform&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 3:Integration and Messaging&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3.1Explain possible approaches for communicating with an external system from a Java EE-based system given an outline description of those systems and outline the benefits and drawbacks of each approach.&lt;br /&gt;3.2Explain typical uses of Web Services and XML over HTTP as mechanisms to integrate distinct software components.&lt;br /&gt;3.3Explain how Java Connector Architecture and JMS are used to integrate distinct software components as part of an overall Java EE application.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 4: Business Tier Technologies &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4.1Explain and contrast uses for Entity Beans, Entity Classes, Stateful and Stateless Session Beans, and Message Driven Beans and understand the advantages and disadvantages of each type.&lt;br /&gt;4.2Explain and contrast the following persistence strategies: Container Managed Persistence (CMP) BMP, JDO, JPA, ORM and using DAOs (Data Access Objects) and direct JDBC-based persistence under the following headings: ease of development, performance, scalability, extensibility and security.&lt;br /&gt;4.3Explain how Java EE supports the deployment of server-side components implemented as Web Services and the advantages and disadvantages of adopting such an approach.&lt;br /&gt;4.4Explain the benefits of the EJB3 development model over previous EJB generations for ease of development including how the EJB container simplifies EJB development.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 5:  Web Tier Technologies &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5.1State the benefits and drawbacks of adopting a web framework in designing a Java EE application&lt;br /&gt;5.2Explain standard uses for JSP and Servlet technologies in a typical Java EE application.&lt;br /&gt;5.3Explain standard uses for JSF technology in a typical Java EE application.&lt;br /&gt;5.4Given a system requirements definition, explain and justify your rationale for choosing a web-centric or EJB-centric implementation to solve the requirements. Web-centric means that you are providing a solution that does not use EJBs. EJB-centric solution will require an application server that supports EJBs.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 6: Applicability of Java EE Technology &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6.1Given a specified business problem, design a modular solution implemented using Java EE which solves that business problem.&lt;br /&gt;6.2Explain how the Java EE platform enables service oriented architecture (SOA) -based applications.&lt;br /&gt;6.3Explain how you would design a Java EE application to repeatedly measure critical non-functional requirements and outline a standard process with specific strategies to refactor that application to improve on the results of the measurements.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 7: Patterns&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;7.1From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book - Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition and named using the names given in that book.&lt;br /&gt;7.2From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book - Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software and are named using the names given in that book.&lt;br /&gt;7.3Select from a list the benefits and drawbacks of a pattern drawn from the book - Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software.&lt;br /&gt;7.4Select from a list the benefits and drawbacks of a specified Core J2EE pattern drawn from the book – Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Section 8: Security&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;8.1Explain the client-side security model for the Java SE environment, including the Web Start and applet deployment modes.&lt;br /&gt;8.2Given an architectural system specification, select appropriate locations for implementation of specified security features, and select suitable technologies for implementation of those features&lt;br /&gt;8.3Identify and classify potential threats to a system and describe how a given architecture will address the threats.&lt;br /&gt;8.4Describe the commonly used declarative and programmatic methods used to secure applications built on the Java EE platform, for example use of deployment descriptors and JAAS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SCEA 5 Assignment Objectives "DRAFT"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Section 1:  Application Design Concepts and Principles&lt;br /&gt;&lt;br /&gt;1.1Document a given system architecture by creating UML diagrams for it.&lt;br /&gt;1.2Explain the main advantages of an object oriented approach to system design including the effect of encapsulation, inheritance, delegation, and the use of interfaces, on architectural characteristics.&lt;br /&gt;1.3Describe how the principle of “separation of concerns” has been applied to the main system tiers of a Java EE application. Tiers include client (both GUI and web), web (web container), business (EJB container), integration, and resource tiers.&lt;br /&gt;1.4Describe how the principle of “separation of concerns” has been applied to the layers of a Java EE application. Layers include application, virtual platform (component APIs), application infrastructure (containers), enterprise services (operating system and virtualization), compute and storage, and the networking infrastructure layers.&lt;br /&gt;&lt;br /&gt;Section 2:Common Architectures&lt;br /&gt;&lt;br /&gt;2.1Explain the advantages and disadvantages of two tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.&lt;br /&gt;2.2Explain the advantages and disadvantages of three tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security&lt;br /&gt;2.3Explain the advantages and disadvantages of multi-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.&lt;br /&gt;2.4Explain the benefits and drawbacks of rich clients and browser-based clients as deployed in a typical Java EE application.&lt;br /&gt;2.5Create a logical and physical model of a system infrastructure architecture&lt;br /&gt;&lt;br /&gt;Section 3:  Integration and Messaging&lt;br /&gt;&lt;br /&gt;3.1Explain possible approaches for communicating with an external system from a Java EE-based system given an outline description of those systems and outline the benefits and drawbacks of each approach.&lt;br /&gt;3.2Explain typical uses of Web Services and XML over HTTP as mechanisms to integrate distinct software components.&lt;br /&gt;3.3Explain how Java Connector Architecture and JMS are used to integrate distinct software components as part of an overall Java EE application.&lt;br /&gt;3.4Given a scenario, explain the appropriate messaging strategy to satisfy the requirements.&lt;br /&gt;&lt;br /&gt;Section 4: Business Tier Technologies&lt;br /&gt;&lt;br /&gt;4.1Explain and contrast uses for Entity Beans, Entity Classes, Stateful and Stateless Session Beans, and Message Driven Beans and understand the advantages and disadvantages of each type.&lt;br /&gt;4.2Explain and contrast the following persistence strategies: Container Managed Persistence (CMP) BMP, JDO, JPA, ORM and using DAOs (Data Access Objects) and direct JDBC-based persistence under the following headings: ease of development, performance, scalability, extensibility and security.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Section 5:  Web Tier Technologies&lt;br /&gt;&lt;br /&gt;5.1Given a system requirements definition, explain and justify your rationale for choosing a web-centric or EJB-centric implementation to solve the requirements. Web-centric means that you are providing a solution that does not use EJBs. EJB-centric solution will require an application server that supports EJBs.&lt;br /&gt;&lt;br /&gt;Section 6: Applicability of Java EE Technology&lt;br /&gt;&lt;br /&gt;6.1Given a specified business problem, design a modular solution implemented using Java EE which solves that business problem.&lt;br /&gt;6.2Given a specified business problem, identify and prioritize the main technology risk areas that must be addressed by the technical design and architecture.&lt;br /&gt;6.3Explain how the Java EE platform enables service oriented architecture (SOA) -based applications.&lt;br /&gt;6.4Identify how the Java SE and Java EE platform supports the internationalization and localization of applications.&lt;br /&gt;6.5Explain your rationale for choosing build versus buy for a given Java EE component.&lt;br /&gt;6.6Explain the typical challenges associated with the design and implementation of large scale enterprise software systems and how Java EE technology addresses those challenges.&lt;br /&gt;6.7Explain how you would design a Java EE application to repeatedly measure critical non-functional requirements and outline a standard process with specific strategies to refactor that application to improve on the results of the measurements.&lt;br /&gt;&lt;br /&gt;Section 7: Patterns&lt;br /&gt;&lt;br /&gt;7.1From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book - Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition and named using the names given in that book.&lt;br /&gt;7.2From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book - Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software and are named using the names given in that book.&lt;br /&gt;7.3Select from a list the benefits and drawbacks of a pattern drawn from the book - Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software.&lt;br /&gt;7.4Select from a list the benefits and drawbacks of a specified Core J2EE pattern drawn from the book – Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition.&lt;br /&gt;&lt;br /&gt;Section 8: Security&lt;br /&gt;&lt;br /&gt;8.1Given an architectural system specification, select appropriate locations for implementation of specified security features, and select suitable technologies for implementation of those features&lt;br /&gt;8.2Identify and classify potential threats to a system and describe how a given architecture will address the threats.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-5731837247676006023?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/5731837247676006023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=5731837247676006023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/5731837247676006023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/5731837247676006023'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/scea-5-testing-objectives-draft-beta.html' title='SCEA 5 Testing Objectives &quot;DRAFT&quot; -beta'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-6361974465280210582</id><published>2008-01-01T22:52:00.000-08:00</published><updated>2008-12-10T21:07:18.188-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GOF patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Creational'/><title type='text'>Abstract  Factory Pattern</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7F_2-HywXWM/R3s2taQ8UsI/AAAAAAAAACE/Q96vNI5ZVBg/s1600-h/Abstract+Factory"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_7F_2-HywXWM/R3s2taQ8UsI/AAAAAAAAACE/Q96vNI5ZVBg/s400/Abstract+Factory" alt="" id="BLOGGER_PHOTO_ID_5150770752600691394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Intent:&lt;/span&gt;&lt;br /&gt;Provides an interface for creating families of related or dependent objects without&lt;br /&gt;specifying their concrete classes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;The Abstract Factory pattern defines an abstract class that determines the&lt;br /&gt;appropriate concrete class to instantiate to create a set of concrete classes that&lt;br /&gt;implement a standard interface. The client interacts only with the interfaces and the&lt;br /&gt;Abstract Factory class. The client is completely shielded from the concrete classes.&lt;br /&gt;The Abstract Factory pattern is similar to the Factory Method pattern, except that it&lt;br /&gt;creates families of related objects and can be considered as a factory of factories.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Benefits:&lt;/span&gt;&lt;br /&gt;       • Isolates concrete classes.&lt;br /&gt;       • Makes exchanging product families easy.&lt;br /&gt;       • Promotes consistency among products.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When to use?&lt;/span&gt;&lt;br /&gt;You can use the Abstract Factory pattern when:&lt;br /&gt;       • The system should be independent of how its products are created,&lt;br /&gt;         composed, and represented.&lt;br /&gt;       • The system should be configured with one of the multiple families of&lt;br /&gt;         products.&lt;br /&gt;       • A family of related product objects is designed to be used together and&lt;br /&gt;         you need to enforce this constraint.&lt;br /&gt;       • You want to provide a class library of products and you want to reveal just&lt;br /&gt;         their interfaces, not their implementations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-6361974465280210582?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/6361974465280210582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=6361974465280210582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/6361974465280210582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/6361974465280210582'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/abstract-factory-pattern.html' title='Abstract  Factory Pattern'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7F_2-HywXWM/R3s2taQ8UsI/AAAAAAAAACE/Q96vNI5ZVBg/s72-c/Abstract+Factory' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-4771291060125221914</id><published>2008-01-01T22:18:00.000-08:00</published><updated>2008-01-01T22:51:55.852-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GOF patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Creational'/><title type='text'>GOF patterns: Creational</title><content type='html'>Creational patterns specialize in abstracting the instantiation process. They help in&lt;br /&gt;isolating how objects are created, composed, and represented from the rest of the&lt;br /&gt;system. There are five patterns defined in this category:&lt;br /&gt;• Abstract Factory&lt;br /&gt;• Builder&lt;br /&gt;• Factory Method&lt;br /&gt;• Prototype&lt;br /&gt;• Singleton&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-4771291060125221914?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/4771291060125221914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=4771291060125221914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/4771291060125221914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/4771291060125221914'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/gof-patterns-creational.html' title='GOF patterns: Creational'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5767541029717064611.post-5583576730898220380</id><published>2008-01-01T04:08:00.000-08:00</published><updated>2008-01-01T04:23:54.422-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='Objectives'/><title type='text'>Test 310-051 Testing objectives for the Sun Certified Enterprise Architect for J2EE Technology</title><content type='html'>&lt;span style="color: rgb(0, 153, 0);"&gt;Testing objectives for the Sun Certified Enterprise Architect for J2EE Technology include:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;COMMON ARCHITECTURES&lt;/span&gt;&lt;br /&gt;• Given an architecture described in terms of network layout, list benefits and potential weaknesses&lt;br /&gt;associated with it&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;LEGACY CONNECTIVITY&lt;/span&gt;&lt;br /&gt;• Distinguish appropriate from inappropriate techniques for providing access to a legacy system from Java&lt;br /&gt;technology code given an outline description of that legacy system&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;ENTERPRISE JAVA \BEANS™&lt;/span&gt;&lt;br /&gt;• List the required classes/interfaces that must be provided for an Enterprise JavaBean™ component&lt;br /&gt;• Distinguish between stateful and stateless session beans&lt;br /&gt;• Distinguish between session and entity beans&lt;br /&gt;• Recognize appropriate uses for entity, stateful session, and stateless session beans&lt;br /&gt;• State the benefits and costs of container-managed persistence&lt;br /&gt;• State the transactional behavior in a given scenario for an enterprise bean method with a specified&lt;br /&gt;transactional attributed as defined in the deployment descriptor&lt;br /&gt;• Given a requirement specification detailing security and flexibility needs, identify architectures that would&lt;br /&gt;fulfill those requirements&lt;br /&gt;• Identify costs and benefits of using an intermediate data-access object between an entity bean and the&lt;br /&gt;data resource&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;ENTERPRISE JAVABEANS™ CONTAINER MODEL:&lt;/span&gt;&lt;br /&gt;• State the benefits of bean pooling in an Enterprise JavaBeans container&lt;br /&gt;• Explain how the Enterprise JavaBeans container does lifecycle management and has the capability to&lt;br /&gt;increase scalability&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;PROTOCOLS:&lt;/span&gt;&lt;br /&gt;• Given a list of some of its features, identify a protocol that is one of the following: HTTP, HTTPS, IIOP,&lt;br /&gt;or JRMP&lt;br /&gt;• Given a scenario description, distinguish appropriate from inappropriate protocols to implement&lt;br /&gt;that scenario&lt;br /&gt;• Select common firewall features that might interfere with the normal operation of a given protocol&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;APPLICABILITY OF J2EE™ TECHNOLOGY:&lt;/span&gt;&lt;br /&gt;• Identify application aspects that are suited to implementation using J2EE technology&lt;br /&gt;• Identify application aspects that are suited to implementation using Enterprise Java Beans&lt;br /&gt;• Identify suitable J2EE technologies for the implementation of specified application aspects&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;DESIGN PATTERNS:&lt;/span&gt;&lt;br /&gt;• Identify the most appropriate design pattern for a given scenario&lt;br /&gt;• Identify the benefits of using design patterns&lt;br /&gt;• State the name of a Gamma et al. design pattern given the UML diagram and/or a brief description of the&lt;br /&gt;pattern's functionality&lt;br /&gt;• Identify benefits of a specified Gamma et al. design pattern&lt;br /&gt;• Identify the Gamma et al. design pattern associated with a specified J2EE technology feature&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;MESSAGING:&lt;/span&gt;&lt;br /&gt;• Identify scenarios that are appropriate to implementation using messaging, Enterprise JavaBeans&lt;br /&gt;technology, or both&lt;br /&gt;• List benefits of synchronous and asynchronous messaging&lt;br /&gt;• Identify scenarios that are appropriate to implementation using messaging&lt;br /&gt;• Identify scenarios that are more appropriate to implementation using asynchronous messaging, rather&lt;br /&gt;than synchronous&lt;br /&gt;• Identify scenarios that are more appropriate to implementation using synchronous messaging, rather&lt;br /&gt;than asynchronous&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;INTERNATIONALIZATION:&lt;/span&gt;&lt;br /&gt;• State three aspects of any application that might need to be varied or customized in different&lt;br /&gt;deployment locales&lt;br /&gt;• List three features of the Java programming language that can be used to create an&lt;br /&gt;internationalizable/localizable application&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;SECURITY:&lt;/span&gt;&lt;br /&gt;• Identify security restrictions that Java 2 technology environments normally impose on applets running&lt;br /&gt;in a browser&lt;br /&gt;• Given an architectural system specification, identify appropriate locations for implementation of specified&lt;br /&gt;security features and select suitable technologies for implementation of those features&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5767541029717064611-5583576730898220380?l=scea-javaee5.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://scea-javaee5.blogspot.com/feeds/5583576730898220380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5767541029717064611&amp;postID=5583576730898220380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/5583576730898220380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5767541029717064611/posts/default/5583576730898220380'/><link rel='alternate' type='text/html' href='http://scea-javaee5.blogspot.com/2008/01/test-310-051-testing-objectives-for-sun.html' title='Test 310-051 Testing objectives for the Sun Certified Enterprise Architect for J2EE Technology'/><author><name>waruna</name><uri>http://www.blogger.com/profile/03517484462698216034</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
