Srini Penchikala will speak to the Detroit Java User Group on... Application Architectures - Where We Have Been, Where We Are Going When: December 17th 7:00PM - 8:30PM Where: ePrize Please, RSVP - mckinnon.david @ ymail.com Speaker Bio: Srini Penchikala currently works as an Enterprise Architect at Flagstar Bank. He has over 12 years of IT experience and has been working on Java projects since 1996 and J2EE technology since 2000. His main areas of interest are Agile Enterprise and Service Oriented Architectures, Domain Driven Design In Practice, Aspect Oriented Programming (AOP), Architecture Rules Enforcement and light-weight middleware frameworks such as Spring and Hibernate. He has published articles on J2EE topics on websites like InfoQ.com, ONJava, DevX Java, java.net and JavaWorld. Srini is one of the organizers of Detroit Java User Group. Presentation Abstract: Title: Application Architectures - Where We Have Been, Where We Are Going Java Application Architecture is going through a major paradigm shift in terms of design techniques, technologies, and frameworks that are used to build and deploy Java applications. Enterprise JavaBeans (EJB), traditional Message Queues (JMS), and even Application Servers as we know them are being replaced by light-weight POJO based frameworks such as Spring, ActiveMQ, and OSGi compatible containers. This technical session will give an overview of Java application architectures of the past where EJB's, verbose EAR files and heavy- weight J2EE application servers were the only choice a Java developer had to develop and implement Java applications to the current pragmatic architectures where the concepts like POJO's and Domain Driven Design (DDD) have become the core design and development concerns like they should be. The presentation will also include a discussion on how concerns like Persistence, Transaction Management, Application Security and Asynchronous Messaging have become the infrastructure concerns that are managed by the frameworks (like Spring) out-of-the-box instead of developers having to spend a lot of time and effort in programming or dealing with complex configuration files and deployment descriptors for implementing these concerns. The presentation will talk about the emerging design techniques like Domain Driven Design, Domain Specific Languages (DSL), Custom Annotations, Dependency Injection (DI), Aspect-Oriented Programming (AOP) and OSGi. I will also discuss the use cases where these techniques add value to the architecture and where they may be just an overkill. With the upcoming releases of Spring 3.0, EJB 3.1, JPA 2.0 and Java EE 6, the java developer has become the core part of Software Development Process rather than the API specifications and vendor implementations dictating the design and architecture technology solutions. New features like Spring support for EJB3 components, Criteria expression support in JPA API, Deploying EJBs in WAR files (instead of EAR files), and Light-weight Java EE containers (via the new Java EE 6 Profiles) will be discussed. The presentation will include the demo of a sample Java application that uses the techniques discussed in the session. I will also demonstrate how these techniques can be used in different phases of SDLC phases of the application (Architecture, Design, Development, Unit Testing and Implementation) as well as post implementation efforts such as Clustering and Monitoring. It will include a review of new and innovative design and development techniques in the following items: Domain Driven Design Dependency Injection Aspect Oriented Programming Annotations Custom Annotations Persistence JDBC v. Hibernate Transaction Management Spring JTA Application Security Spring Security DSL's Dynamic Languages (Groovy) Testing Mock Objects EasyMock'ing of Spring Beans Deployment (OSGi) Application Servers Light-weight & OSGi compatible containers Java EE 6 Profiles |








