Professional Java & Forthnet - Enterprise Java - JUG - Irakilio

titteringcluckΛογισμικό & κατασκευή λογ/κού

10 Νοε 2012 (πριν από 5 χρόνια και 4 μέρες)

243 εμφανίσεις

1

Professional Java & Forthnet


The ..ilties
:

Availability, Scalability,
R
eliability
, Security

Manageability
, M
aintainability
,Flexibility,
Extensibility

Interoperability, Portability,
Serviceability


Productivity
, Performance,
Support


Forthnet: Software for in
-
house use.


Java Enterprise Edition

© Forthnet 2007: Professional Java

2

Professional Java: Contents


Tools





(
eclipse, maven, posix & http
)


Libs (& Standards)




(
jse, jee, xml, ws, spring, hibernate, turbine, gwt, open source
)


Systems



(
bea wls & wli, tomcat, apache, rdbms, sap & siebel
)


Humans & Processes



(
reuse, testcases, communication
-
training
-
co
-
working, stability
)

© Forthnet 2007: Professional Java

3

Tools:

eclipse


Refactoring


Prefect for inspecting code (legacy).


Based on SWT, not “pure java”.


Evaluated netbeans

© Forthnet 2007: Professional Java

4

Tools:

maven (1 & 2)


A build tool similar to
Ant
plus
lifecycle

and
inheritance
.


Artifact: name
-
version
-
classifier (
jars, war, ears, tars
)


Artifact repositories


Management of (transitive) dependencies.


Release & deployment


Reports and documents generators


Plugins generate and attach code.


Forthnet transitioning from maven1
-
> maven2

© Forthnet 2007: Professional Java

5

Tools:

RDBMS,
POSIX & Free Software


Sybase, MySql


bash, perl (test cases), Linux


CVS, svn, WebDAV


Apache


Open Source Software


Free Software (preferably)


© Forthnet 2007: Professional Java

6

Libs:

JSE & JEE


JRE 1.4


1.5


1.6

(
performance, comfort, forced to upgrade by chain of tools
)


JEE

(servlet, ejb, jms, jconnectors, datasource)


Later migrate to: ejb 3, jpa, ws*


JRE 1.5

© Forthnet 2007: Professional Java

7

Libs:

Web Services & XML


WebLogic’s declarative approach.


Axis for ws clients


Later: annotations (
jsr
-
175
), ws
-
adressing, ws
-
cooperation (2
-
phase & soft transactions)


Extensive use of XML bindings
-
to
-
java.


NOTE: WS do not provide for RPC, but rather doc
-
oriented



JAXB 1 & 2

(possible to extend them by using plugins)


Also evaluated XMLBeans (BEAs).

© Forthnet 2007: Professional Java

8

Libs:

Hibernate (OR tools)


Suitable for complex logic.


Overkill for set
-
operations & simple data
-
entry.


More difficult when db schema pre
-
exists.


Configurations require experience.



Hyperjaxb 2 & 3 map:
xml


pojos


db

© Forthnet 2007: Professional Java

9

Libs:

Web UIs: Turbine, GWT


Turbine: An

old
-
classic MVC

template
-
based
framework.


GWT: full AJAX (
Dynamic
DOM manipulation
).


No http request
-
reply cycles


Compile time checked.


Java tooling.


Requires javascript browsers.

© Forthnet 2007: Professional Java


Evaluated XForms frameworks (
oberon, chiba, AJAXforms
)


Not evaluated portlets (jsr
-
168)

10

Libs:

Open Source Libraries

Spring


Dependencies injection


Proxy
-
base
AOP


Libraries for:

JDBC, OR Tools, JNDI, TXs,
JMX, remoting, ws


“poor
-
man’s jee”


apache
-
commons, ...


quartz


Apache
-
like licenses,
allow redistibution.


© Forthnet 2007: Professional Java

11

Systems:
BEA Systems

Weblogic Server 8.1:


Generic, full
-
blown JEE
stack.


The
...lities

provider


SNMP monitored


Clustered

Weblogic

Integration 8.1
:


Based on WLS


A process server


End
-
user oriented


Enhanced monitoring
capabilities


© Forthnet 2007: Professional Java

12

Systems:
Billing System


A request
-
processing system based on C &
Sybase libs.


Javaserver: custom wire protocol, similar to jdbc.


Web Services (using glib from C side)


POSIX (file operations, IPC).

© Forthnet 2007: Professional Java

13

Systems:
SAP, Siebel

Integrator systems:


WLS, WLI, Billing System


Integration end
-
points


SAP:


JConnector


SIEBEL:

WebServices

© Forthnet 2007: Professional Java

14

Humans:

Reuse

Types of reuse:


copy
-
paste:

easy but not actually reusing.


sources:


(arcane) cvs alias or similar


jars:


maven
-
way, all or nothing


ejbs:


revision problems


ws:



SOA


Don’t build software at all!


Reuse

requires a mind
-
set, not tools.

© Forthnet 2007: Professional Java

15

Humans:

Test Cases


Programming with “safety belts”


Prefer incremental approach (
add more tests on each
error
)


Required for shared projects .


Perfect match for autonomous builds.


Test code
is
a demo client code

© Forthnet 2007: Professional Java

16

Humans:

Collaboration & Training


Training through Open Source projects.


Dissemination of knowledge (formal & informal)


Collaboration tools (wikis, bulletin boards, issue
trackers)


Documentation as a means of communication



Above all: Stability!

© Forthnet 2007: Professional Java

17

Notes:
Not using, but considering...


integration servers (autonomous builds)


AOP


Enterprise Service Bus (ESBs)

© Forthnet 2007: Professional Java

18

Summary


STAY WAY!!!

© Forthnet 2007: Professional Java

19

Summary


Java’s run
-
everywhere and extensive libraries
make it suitable for integration.


Compile
-
time static typing and best
-
of
-
breed
collections structures facilitate back
-
end logic.


JEE extensions suitable for long running
processes.


Open libs & standards ease integration.


Trained and well
-
shaped developer community.


© Forthnet 2007: Professional Java