What's New in Teams Calling, Meetings and Devices March 2024
Java EE6 CodeCamp16 oct 2010
1. Java EE 6 or... Enterprise
Application Development
just got easier
George Alin Costea, Andrei Mihăilă, Bogdan
Burlacu
S.C. Software Development Partnership S.R.L.
October 16th 2010
2. Introduction
●
Alin Costea
●
MSc in Computer Science – Distributed Systems
●
Andrei Mihăilă
●
MSc in Computer Science – Distributed Systems
●
Bogdan Burlacu
●
BSc in Systems Engineering, currently PhD student
●
S.C. Software Development Partnership S.R.L.
●
UK based company that helps you make the most out
of your website
●
http://www.sdp-web.com/
3. Overview
●
Introduction to the Java Enterprise Edition platform
●
Platform evolution
●
How can this be of any help to me?
●
What's new in Java EE 6
●
The tools of the trade
●
Java EE BookStore application Demo
4. Java Platform, Enterprise Edition
Java Platform, Enterprise Edition
or Java EE (formerly known as
Java 2 Platform, Enterprise
Edition or J2EE), is a
programming platform part of
the Java Platform for developing
and running distributed multi-
tier architecture Java
applications, based largely on
modular software components
running on an application server.
5.
6. OK, what's your point?: Evolution
A look at the history of the Java Platform, Enterprise Edition
specification reveals that each major revision has been driven by
a major theme.
For example, with the first release of J2EE 1.2 came the initial
bundling of separate specifications, and later, in J2EE 1.4, the
focus was on Web services.
Starting with Java EE 5 the main focus shifted to simplification.
Many of the upgrades in Java EE have been influenced by
innovative technologies in both the commercial and open source
space, such as Hibernate, Spring, Seam etc.
8. OK... how can all this make
my life easier?
Well, let's take a practical approach:
You're building a backend for an application, that
needs to be implemented in record time :) and be
able to scale easily. Oh and while we're at it, it should
play nice with the existing legacy frontend site
written in PHP and should look eyecandy-ish (they all
love Ajax these days).
9. OK... how can all this make
my life easier?
●
First of all you're going to need database
connectivity and abstraction. An OR/M layer would
be pretty sweet. Oh wait, Java EE has JPA, we're
covered! It works with all major RDBMS and it's a
walk in a park.
●
OK, we need to build the application business logic
module. We might need to expose it to SOAP/REST
clients (that PHP frontend comes into mind),
deploy it into a cluster...
Here comes EJB to the rescue! And it's dead simple
to use too!
10. OK... how can all this make
my life easier?
●
That's great, but what framework should I use to
build the user interface? I'm going to need
something smart, a MVC based approach, I want
ready made components which I can reuse, Ajax
support... oh and it should not be a pain to
develop and maintain...
Well lucky us, Java EE has the answer for that too.
JSF!
12. What's new in Java EE 6?
●
Several new APIs
●
Web Profile
●
Profiles increase Flexibility and Focus
●
Bundles of technologies targeting specific classes of
applications
●
No need to load all APIs for a simple Web Application...
●
Complete, but not the kitchen sink
●
Pruning
●
Addresses bloat concern
●
Removal of legacy technologies
13. What's new in Java EE 6?
●
Pluggability/extensibility
●
Zero configuration of modules
●
Focus on the web tier
●
web.xml is now optional
●
Ability to serve resources out of jars
●
Dependency injection
●
New @Inject annotation
●
Beans autodiscovered at startup
●
Injection metamodel (BeanManager API)
14. What's new in Java EE 6?
●
RESTful Web Services
●
Already widely adopted
●
Really a high-level HTTP API
●
Annotation-based programming model
●
Standard Validation API
●
Integrated with JSF, JPA
●
Constraints represented by annotations
●
Fully extensible
15. What's new in Java EE 6?
●
Many improvements to individual APIs
●
EJB 3.1 (@Singleton beans, @Startup beans,
@Asynchronous invocations, No interface view, EJB 3.1 Lite)
●
JPA 2.0 (JPQL enhancements, Pessimistic locking, Criteria API
for dynamic query construction)
●
Servlet 3.0 (New programming model for async request
processing, Comet, push apps, web.xml is now optional)
●
JSF 2.0 (Facelets as default view technology, Composite
Component API, Ajax fully integrated, better navigation and
graceful degradation, new scopes for Managed Beans, no
more XML configuration :), Bean Validation, Resource
management and many more)
●
And much more...
16. Tools of the trade
●
NetBeans IDE
●
Free community-supported IDE (open source)
●
Based on the NetBeans Platform (extensible, modular
architecture, OSGi compatible)
●
Excellent support for Java EE 6 and Glassfish Application
Server and also supports development of all Java
application types (Java SE including JavaFX, Java ME, web,
EJB and mobile applications) out of the box.
●
Supports most popular languages and frameworks (C, C++,
Python, Ruby [on Rails], PHP [with Symfony])
●
Offers integration with most versioning systems (CVS, SVN,
Mercurial, Git), Issue Tracking systems (JIRA, Bugzilla),
Continuous Integration Systems (Hudson), databases (every
database supported by JDBC), Team Integration services
(Kenai) etc.
17. Tools of the trade
●
Glassfish Application Server
●
Your one-stop-shop for everything Java EE
●
Free community-supported application server (open source)
●
Java EE reference implementation
●
Next-generation modular and extensible architecture (OSGi)
●
Enterprise reliability and performance with less complexity
●
Backed by Oracle (Oracle Glassfish Server – fully supported)
●
First to support the new, lightweight Java EE 6 Web Profile
and the full Java EE 6 platform
●
Provides .NET 3.0 Web services interoperability; leveraging
Project Metro (JAX-WS), applications can interoperate with
Windows Communication Foundation (WCF)
●
Easily runs dynamic language frameworks such as
JRuby/Rails and Jython/Django, with or without a Web
container
22. Please fill in the evaluation form
Thank you!
George Alin Costea (alin.costea@sdp-web.com)
Andrei Mihăilă (andrei.mihaila@sdp-web.com)
Bogdan Burlacu (bogdan.burlacu@sdp-web.com)
S.C. Software Development Partnership S.R.L. (SDP)
http://www.sdp-web.com/