Srini Penchikala to speak at Detroit Java User Group on December 17
December 10, 2008 in events
Application Architectures – Where We Have Been, Where We Are Going
When: December 17th
7:00PM – 8:30PM
Where: ePrize
Detroit (Corporate Headquarters)
One ePrize Drive
Pleasant Ridge, MI 48069
Food and beverages provided by RIIS.
Please, RSVP – mckinnon.david @ ymail.com
For more info: http://sites.google.com/site/detroitjug/
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
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.