Showing posts with label Presentations. Show all posts
Showing posts with label Presentations. Show all posts

Sunday, March 1, 2009

Domain Driven Design and Development with Spring Portfolio

I gave a presentation at Ann Arbor Java User Group (AAJUG) last Tuesday on "Domain Driven Design and Development with Spring Portfolio". The presentation went very well with great discussion and feedback from the attendees.

David at AAJUG has been leading the user group meetings, speakers, and presentation. AAJUG has been an active Java user group for last several years. I want to thank David and the group members for the opportunity to speak at JUG meeting.

In the presentation, I focused on the Domain-Driven Design (DDD) implementation aspects using Spring projects like Spring IoC, Spring AOP and Spring Security. I also talked about enforcing architecture rules in DDD applications. I briefly talked about the role of code generation in a DDD application which included a quick demo using tools like Eclipse EMF and openArchitectureWare (oAW).

Here are some of the items I talked about:

  • Domain Driven Design & Development
  • Spring Portfolio
  • Dependency Injection (DI)
  • Aspect-Oriented Programming (AOP)
  • Role of Custom Annotations in DDD
  • Spring Security
  • Architecture Enforcement (Demo)
  • Code Generation (Demo)

I have uploaded to SlideShare web site. You can view the presentation slides on the site. Let me know if you have any suggestions or feedback for improvement of the presentation.

Friday, February 6, 2009

I will be speaking at ITARC Architect Conference

I will be speaking at the upcoming IT Architect Regional Conference in Atlanta later this month. My presentation is in the Enterprise Architecture track of the conference schedule.

Topic:
Architecture Enforcement and Governance Using Aspects and SonarJ

Abstract:
In this presentation, I will talk about the significance of enforcing the architecture rules and standards and how to actually enforce them in software development projects. Architecture governance ensures that the Implementation (Code) does match the Requirements (Reference Architecture). It can help with clear and cycle free dependency structures as well as improve testability and reusability of code.

Enforcing Reference Architecture guidelines promotes consistency and modularity in the System. It also helps in detecting structural complexity and preventing it earlier in the software development process. As a result, the application code is modifiable, portable, and testable.

Most of the presentation will focus on using Aspects and AOP techniques to define architecture rules and use them for policy-enforcement in Java applications. I will briefly discuss how tools like SonarJ and Structure 101 can help the architects integrate architecture analysis and management earlier in the development process.

The session will include several demo's of how to enforce the architecture rules using frameworks like AspectJ and SpringAOP.

Check out more details of the ITARC conference, event schedule and my presentation. Let me know if you live in Atlanta area and if you are going to be attending the conference.

Sunday, December 21, 2008

Application Architecture Trends presentation at Detroit Java User Group meeting

I recently gave a presentation on Application Architecture Trends at Detroit Java User Group meeting on Wednesday evening. The presentation title is "Application Architectures - Where We Have Been, Where We Are Going". The turnout was pretty good (about 20 people) and the presentation went very well. There were lot of great questions and discussion on the items I talked about in the presentation like AOP, Custom Annotations and OSGi. Here is a list of the new technology trends I covered in the presentation:

  • Dependency Injection (includes a demo on a Data Access Object using Spring DI to inject the JEE resources like Data Source, Entity Manager, and Transaction Manager)
  • Aspect Oriented Programming (includes 2 demos, one on Architecture Rules Enforcement using AspectJ & AJDT and another on Profiling using Spring AOP)
  • Annotations
  • Custom Annotations (includes a demo on a Custom Annotation for Object Caching using Spring AOP and EHCache)
  • Spring Portfolio
  • Spring Core
  • Spring AOP
  • Spring Security
  • Spring MVC/ Spring WebFlow
  • Persistence
  • JDBC v. Hibernate v. JPA
  • Transaction Management
  • Spring JTA
  • Web Services, Async Messaging & ESB's
  • Java As a Platform
  • Dynamic Languages (Groovy, JRuby, Scala)
  • Domain Specific Languages (DSL's)
  • Internal DSLs
  • External DSLs
  • Deployment
  • OSGi
  • Distributed Computing
  • Concurrent Programming (support in JDK)
  • Cloud Computing
  • Virtualization
  • Database Layer
  • Distributed Data Storage Frameworks
  • Other Trends
  • Web 2.0
  • RIA/RCP Applications
  • Conversational Web / Batch Frameworks
  • What's next for J2EE?
  • Java EE 6 (JSR-316)
  • - Profiles
  • JPA 2.0 (JSR-317)
  • - Criteria Expression Support
  • EJB 3.1 (JSR-318)
  • - Deploy EJB's in WAR files (no need for EAR files any more)
  • Spring 3.0
  • - REST Support
  • - Support for EJB 3.1

The presentation slides are available here.

Erik has blogged about this meeting and my presentation.

This presentation is also accepted for the upcoming No Fluff Just Stuff (NFJS) Symposium in Milwaukee in February (Feb 27 to March 1; checkout out the full conference schedule which has great speakers talking on very interesting topics).