6/27/08


What new in j2se 1.5.0

- added in java.util.Arrays static toString() method
- added generics
- hot swap realised
- added StringBuilder. It is identical to StringBuffer except that it is not synchronized. In single-threaded programs StringBuilder is slightly faster.
- added XML validation package at javax.xml.validation and the XPath libraries at javax.xml.xpath
- added annotation

6/18/08


Programming Ideas

There are a lot of obstruction on the way of new programmer. If he or she is newbie and does not have access to real development process it means he or she does not have access to best practice and up-to-date knowledges about technologies, tools, approaches etc. But most substantial issue is lack interesting and useful task for practice and develop skills. So I have one proposal as choice to resolve that problem: be imitator.
Yeah. Just try to copy existing well knowing functionality or application. It is not new idea, I know, but it is not so obvious to use this method in every day. I have seen movie about some painter who trained to draw by copy another's picture. Let's contrive some examples:
- Calc
- Excel
- Lingvo
- TotalCommander
- Bizarre
- BlogSpot
- Eclipse
- gmail
- forum
- CMS
- game ..
Or only functionality:
- Java collection implementation
- Java ORM implementation
- java.lang.String implementation

And also some notes:

//---------------
System.out.println( new SimpleDateFormat("yyyy-MMM-dd hh:mm:ss").format(new Date()));
System.out.println( new SimpleDateFormat("yyyy-MMM-dd (E) hh:mm:ss [z]", Locale.ENGLISH).parse("2008-Jun-27 (Fri) 01:18:46 [EEST]"));
//---------------
new StringBuilder("qwerty").reverse().toString();
//---------------
public enum Status {
Open("O"), Closed("C"), Reopened("R");
final String code;
Status(String code) {
this.code = code;
}
}
//---------------

6/3/08


Web Service Development

JAX-RPC is a Java community effort to eliminate problems with Web service implementations and provide a well-known application programming interface (API) on both the client and the server side. JAX-RPC provides an easy to develop programming model for development of SOAP based Web services.

So in details: JAX-RPC (java API for XML based RPC) is the API specification for J2EE 1.4 and presented as RFC 101. SUN (in WSDP) and Apache (in AXIS) have its own implementation that API. JAX-RPC defines API for creating SEI (service end point) and client endpoint. JAX-RPC enables a Web service endpoint to be developed using either a Java Servlet or Enterprise JavaBeans (EJB) component model (JSR 109). A Web service endpoint is deployed on either the Web container or EJB container based on the corresponding component model.
(I mean JAX-RPC 1.1.)
The latest version of JAX-RPC is 2.0. But it has new name: JAX-WS 2.0 - JSR-224. JAX-WS programming model is JavaEE5 compliant.
EJB3 stateless session bean - JAX-WS.
EJB-2.1 stateless session bean - JAX-RPC.

A JAX-RPC client can use stubs-based, dynamic proxy or dynamic invocation interface (DII) programming models to invoke a heterogeneous Web service endpoint. JAX-RPC uses SAAJ API for SOAP message handlers.

Using wscompile from WSDP toolkit made by SUN:

wscompile.bat -classpath build/classes -gen:server -f:rpcliteral config.xml -d build/classes -nd WebContent/WEB-INF/wsdl -mapping WebContent/WEB-INF/mapping.xml

-d directory to put generated and compiled classes
-nd directory to put "non classes" generated stuff (wsdl etc.)