Sun Certified Enterprise Architect for J2EE Platform
So I've decided to take the Sun Certified Enterprise Architect for J2EE Platform exam. This certification covers a variety of J2EE topics and should compliment my SCJP (programmer) certfication pretty well. It actually surprised me as I was reading about the requirements that they're pretty much exactly the things that I wanted to improve my knowledge about. It's going to a pain in the butt to do, actually. There's three exams, the first is a multiple choice, the second is a project and the third is an essay about a specific topic. The total cost is going to be at least $550, not including the cash I've already laid down for books and stuff. Whew, I hope it's worth it.
Here's the topics covered by the exam:
COMMON ARCHITECTURES
�Given an architecture described in terms of network layout,list benefits and potential weaknesses associated with it
LEGACY CONNECTIVITY
�Distinguish appropriate from inappropriate techniques for providing access to a legacy system from Java technology code given an outline description of that legacy system
ENTERPRISE JAVA BEANS �
�List the required classes/interfaces that must be provided for an Enterprise JavaBean �component
�Distinguish between stateful and stateless session beans
�Distinguish between session and entity beans
�Recognize appropriate uses for entity,stateful session,and stateless session beans
�State the benefits and costs of container-managed persistence
�State the transactional behavior in a given scenario for an enterprise bean method with a specified transactional attributed as defined in the deployment descriptor
�Given a requirement specification detailing security and flexibility needs,identify architectures that would fulfill those requirements
�Identify costs and benefits of using an intermediate data-access object between an entity bean and the data resourceENTERPRISE JAVABEANS �CONTAINER MODEL:
�State the benefits of bean pooling in an Enterprise JavaBeans container
�Explain how the Enterprise JavaBeans container does lifecycle management and has the capability to increase scalabilityPROTOCOLS:
�Given a list of some of its features,identify a protocol that is one of the following:HTTP,HTTPS,IIOP, or JRMP
�Given a scenario description,distinguish appropriate from inappropriate protocols to implement that scenario
�Select common firewall features that might interfere with the normal operation of a given protocolAPPLICABILITY OF J2EE �TECHNOLOGY:
�Identify application aspects that are suited to implementation using J2EE technology
�Identify application aspects that are suited to implementation using Enterprise Java Beans
�Identify suitable J2EE technologies for the implementation of specified application aspectsDESIGN PATTERNS:
�Identify the most appropriate design pattern for a given scenario
�Identify the benefits of using design patterns
�State the name of a Gamma et al.design pattern given the UML diagram and/or a brief description of the pattern's functionality
�Identify benefits of a specified Gamma et al.design pattern
�Identify the Gamma et al.design pattern associated with a specified J2EE technology featureMESSAGING:
�Identify scenarios that are appropriate to implementation using messaging,Enterprise JavaBeans technology,or both
�List benefits of synchronous and asynchronous messaging
�Identify scenarios that are appropriate to implementation using messaging
�Identify scenarios that are more appropriate to implementation using asynchronous messaging, rather than synchronous
�Identify scenarios that are more appropriate to implementation using synchronous messaging, rather than asynchronousINTERNATIONALIZATION:
�State three aspects of any application that might need to be varied or customized in different deployment locales
�List three features of the Java programming language that can be used to create an internationalizable/localizable applicationSECURITY:
�Identify security restrictions that Java 2 technology environments normally impose on applets running in a browser
�Given an architectural system specification,identify appropriate locations for implementation of specified security features and select suitable technologies for implementation of those features
This is a lot of good stuff, actually. I really like the patterns and UML requirements since I wanted to get into those subjects anyways. Some of the test is obvious marketing crap, but the rest seems like really useful knowledge which I like. I've already bought most of the recommended books and am working through them now:
- UML Distilled (Martin Fowler+) - not too bad so far. Really distilled, but not many examples.
- Design Patterns (The "Gang of Four" book) - Ugh. C++ and Smalltalk examples? I should've looked to see if there was a Java version first. Ward Cunningham's wiki has a bunch of great EJB Design Patterns, so I'll go from there I think.
- Enterprise Java Beans (O'Reilly) - Some O'Reilly books really aren't that great. I prefer Master Enterprise Java Beans. Much more information in a much clearer format.
- SCEA Technology Study Guide (Mark Cade, Simon Roberts) - Woohooo! I hope this is good... I just ordered it via Amazon. Since I'm not taking any courses, I really hope this book can help me focus on the important points that will be on the test.
There's also a book on JMS and Java Network Security, but it seems that these two books are a bit overkill right now. I would like to read that Security book, actually, but I've got a couple O'Reilly Security books that should give me the info I need for now.
In other news, I'm still in love with JDeveloper, though it takes up A LOT A LOT A LOT of memory on my machine. Having only 256 megs of RAM I can't run JDeveloper AND Oracle... so that sort of sucks for now. But it's definitely helping while doing preliminary development for EventEngine.org.
I also downloaded BEA's new WebLogic Workshop and that's pretty cool too. Like I said below, really wild interface. But it's nice to see that the Java guys are taking Web Services seriously. I just downloaded Sun's newest Java XML Pack and the Web Services Pack for the Spring and am about to start playing with these too...
So in recap, here are the projects I'm trying to get out of my head and down in the computer... too many I know. Focus, focus!
- J2ME Sample app: Crossword
- WebLogger - a RSS Reader, Web server, weblog posting, extensible application like Radio. (Some of the cooler stuff is already done on this one.
- PayStation - I want to use Struts to continue my development I started at Terra. My own MVC version was a bit week, so I think this might be the ticket.
- EventEngine.org - I'm still working on this. I've got the code for the scheduling part, now I need to integrate that with a J2ee backend and DB. I'm trying to work with the Hyperion JavaDB stuff so it's very portable, but I think it's a bit weird... more on this later.
- Wiki - I'd like the WebLogger above to have a Wiki piece. I've got a lot of this written, but I'd like to move it over to Struts, because I think it's a better way to do JSP pages than what I've done before. A bit more complex, but hey.
I've scrapped the C++ and Palm stuff for now. I only have so many braincells and between studying for the J2EE exam and doing my pet projects, there's no way I'm going to truly pick up another programming language right now. It seems better to just focus on improving my Java skills (since that will actually get me paid, unlike Palm programming.) I'm going to really cringe if in 7 months there's this HUGE demand for Palm and Symbian programmers because of all the mobile "smartphones" out there.
It'd be nice to develop some sort of Manywhere front end to the Sputnik stuff and launch it here in Europe. That would really rock, actually.
Okay, that's enough for now. Back to studying.
-Russ
'