java

33
Java & SOA Open Source אביחי מרציאנו יועץ בכיר

Upload: zubin67

Post on 26-May-2015

397 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java

Java & SOA Open Source

אביחי מרציאנו

יועץ בכיר

Page 2: Java

Aluna

Israel’s leading Java/JavaEE and SOA consulting company

Customers:

Page 3: Java

Agenda

Java Open Source

SOA Open Source

How to chose an open source

Open source - tips

Page 4: Java

Java

Page 5: Java

So Many Sources

Apache

Eclipse

Java.net

Jboss

ObjectWeb

Sourceforge

The question is what to choose from, and not if the library exists

Page 6: Java

Java

The VM itself is being open sourced, including API implementation and more

Page 7: Java

Apache Commons

The Commons Proper is dedicated to one principal goal: creating and maintaining reusable Java components. The Commons Proper is a place for collaboration and sharing, where developers from throughout the Apache community can work together on projects to be shared by the Apache projects and Apache users.

Page 8: Java

Apache Commons

Some common libraries:◦ Configuration

◦ Bean Util

◦ Logging

◦ Pool

◦ Validator

◦ Many more

Page 9: Java

Web Services

Apache AXIS, AXIS2

Apache CXF

Java.net Metro

All work well, support the most up-to-date WS-* specs

So why so many?◦ Why not? The freedom of choice

Page 10: Java

XML

JAXB

XMLBeans

Stax

Castor

Digester

Page 11: Java

Build Tools

ANT

Maven – Also know to download the source for you

Page 12: Java

J2EE - Tomcat

Probably the most popular web container out there.

The servlet/jsp spec implementation

Fast, easy to manage

Handled by the Apache group

Page 13: Java

J2EE - JBoss

Probably the most popular J2EE server out there.

Full J2EE spec

Embedded Tomcat

Support through Redhat

Handled by jboss.org

Page 14: Java

J2EE - Geronimo

Who said there wasn’t politics in Open Source?

Full J2EE container

Offered by IBM as WebSphere CE (no relation to WebSphere Application Server)

Handled by Apache

Page 15: Java

J2EE - GlassFish

Open source J2EE server

The RI for J2EE

Handled by java.net

Page 16: Java

J2EE? - Spring

An open source framework that replaces J2EE, or at least abstracts it

Major innovation

Concepts such as IoC and AOP are embedded inside

Handled by www.springframework.org

Page 17: Java

ORM

Hibernate – will come in the next slide

Toplink

Open JPA

IBATIS

Page 18: Java

Database Access - Hibernate

Won over the Entity EJB spec – and created the new JPA spec

Easy to use ORM solution

Major performance benefits, shorten development time – used practically everywhere

Supported by RedHat

Handled by jboss.org

Page 19: Java

IDE - Eclipse

The #1 IDE in Java, by far

All major Java companies (except SUN) are part of the organizing committee of Eclipse

Versions to support:◦ J2EE

◦ PHP

◦ C++

◦ More

Page 20: Java

Innovation - AspectJ

Ability to use AOP inside Java

Highly popular

Handled by eclipse.org

Also we have:◦ Jboss – AOP

◦ Spring AOP

Page 21: Java

Quartz

Allows Job Execution in Java Some features:

◦ Support for persistent/non-persistent jobs.

◦ Simple and CRON based triggers.

◦ Support standalone and embedded operations.

◦ Can be operated in a remote manner.

◦ Support for Job and Trigger listeners.

◦ Can take part in JTA transactions.

◦ Clustering support.

◦ Can be used within J2EE applications.

Handled by OpenSymphony

Page 22: Java

UI - JSF

Tons of open source component libraries◦ RichFaces

◦ MyFaces

◦ Etc.

Even JSF RI implementation under the MyFaces project handled by Apache

Page 23: Java

Wow…

There are many frameworks and tools

Some were created by the vendors and donated to the community

It is a huge mistake not to look for open source infrastructure and develop it in house instead

Just make sure you use something that is supported and developed …

Page 24: Java

SOA

Page 25: Java

Open Source SOA

Not as common as Java Open Source

But tons of products, some of which should be used

Page 26: Java

ESB

OpenESB

Mule

ServiceMix◦ Easy to embed

◦ Easy to use

◦ First to support JBI spec – a new specification for ESB technology

Page 27: Java

ESB

Page 28: Java

BPM

Intalio

jBPM

Solutions for both embedded and standalone business process execution

Support the BPEL spec, development environments, etc.

Page 29: Java

How to chose open source

Check what is the stable release, and what is the latest build.

Go to the projects' bug/issue tracker and see what is resolved in the product, and which bugs are still outstanding. Get on the users' mailing list to learn a lot about the product.

Check the project road map. See what is coming - if anything.

Page 30: Java

How to chose open source - Cont

Google it

Ask in the community

Look on the code

Available support

Documentation /Amazon

Examples

Page 31: Java

Tips

Open sources are not always the right choice

Decoupling◦ Abstraction layer

◦ Interfaces

Look on the code

Dependencies

Don’t be adventure

Page 32: Java

Tips - Cont

Have an expert

Page 33: Java

Q & A