October 2006

You are currently browsing the monthly archive for October 2006.

Oracle SOA Workshop

I have attended an Oracle SOA Workshop last Friday in Hong Kong. The workshop introduces the SOA framework implemented by Oracle. It includes several modules which helps to organize, orchestrate and create process flow using the services provided by different legacy systems.

I will post more details later. In fact, my attitude towards Oracle SOA is quite uncertain. Since the functionalities provided by Oracle SOA are already included in many open-source projects. The major advantages for Oracle SOA is the integrated and well developed web interfaces, which helps in easy configuration and real time monitoring.

It needs me more time to study the Oracle SOA and compares to other implementations. SOA is a must in integrating different systems in a large enterprise.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

AJAXHomework#7

Finished another homework on the AJAX Work Shop, which is the practice for GWT (Google Web Toolkit). It is a very good exercise to learn about GWT, since it will be difficult to start GWT without a tutorial.

GWT is a JAVA-based toolkit for developing AJAX applications. You don’t need to know any HTML and javascript under this framework. All you need is the knowledge of JAVA and GWT API. Writing GWT applications is just developing Swing applications. You need to make a button by creating a Button object, make a textfield by creating a TextField object. All that easy if you are simply a Swing player.

In fact, to me, I’m mainly doing traditional web applications, writing JSP and using MVC patterns. It will be quite strange to me for familarising a Swing-liked GWT.

Anyway, the technology of GWT is really a great idea for all JAVA developers. The same question just like in DWR I would like to ask, is whether this framework can be integrated to a J2EE framework, for the sake to raise the flexibility of resource allocation.

AJAXHomework#7

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

Quoted from:
http://www-128.ibm.com/developerworks/xml/library/x-injava/

The different Java XML document models all have some areas of strength, but from the performance standpoint there are some clear winners.

XPP is the performance leader in most respects. For middleware-type applications that do not require validation, entities, processing instructions, or comments, XPP looks to be an excellent choice despite its newness. This is especially true for applications running as browser applets or in limited memory environments.

dom4j doesn’t have the sheer speed of XPP, but it does provide very good performance with a much more standardized and fully functional implementation, including built-in support for SAX2, DOM, and even XPath. Xerces DOM (with deferred node creation) also does well on most performance measurements, though it suffers on small files and Java serialization. For general XML handling, both dom4j and Xerces DOM are probably good choices, with the preference between the two determined by whether you consider Java-specific features or cross-language compatibility more important.

JDOM and Crimson DOM consistently rank poorly on the performance tests. Crimson DOM may still be worth using in the case of small documents, where Xerces does poorly. JDOM doesn’t really have anything to recommend it from the performance standpoint, though the developers have said they intend to focus on performance before the official release. However, it’ll probably be difficult for JDOM to match the performance of the other models without some restructuring of the API.

EXML is very small (in jar file size) and does well in some of the performance tests. Even with the advantage of deleting isolated whitespace content, though, EXML does not match XPP performance. Unless you need one of the features EXML supports but that XPP lacks, XPP is probably a better choice in limited-memory environments.

Currently none of the models can offer good performance for Java serialization, though dom4j does the best. If you need to transfer a document representation between programs, generally your best alternative is to write the document out as text and parse it back in to reconstruct the representation. Custom serialization formats may offer a better alternative in the future.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

During the research of CAS (Central Authentication Service), one of the problems that troubles me is the integration to the Stand-alone applications written in VB.

CAS generally only support web applications, which can allow applications to redirect to the CAS login page and do the login. Someone said I can implement my own service for calling remotely, but I’m totally lost upon this. Even the number of classes is not large, but the configuration can be very complicated.

One bad thing is that the documentation for CAS is not completed, it is not enough for doing much customization. Due to time constraint, may be I am not able to implement CAS in my company finally.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

Here is an article written in Chinese talking about why CSO (Chief Security Officer) is important in a Company. It states the position and job nature of this post. Quite a good article to prove the importance of Security measures.

http://taiwan.cnet.com/enterprise/technology/0,2000062852,20110281,00.htm

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

HashMap in JSTL

To use a HashMap and get the contained data by key in JSTL, we can use the following expression, provided that list is the user-defined HashMap and id is the user-defined key for the list:

${list[id]}

For a map, we should use the bracket [] to find the content by key. In JSTL, there is another similar expression:

${list.id}

This kind of expression cannot be used by HashMap, but it will be valid for a Javabean, having id as one of the attributes inside.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

Following the tutorial will cause two main errors, which waste me much time searching the solution over the web.

1. When you run XDoclet, which ask the xDoclet to create relevant xml or classes for you, it will prompt you the xDoclet cannot be run. Even if you use another version of JBoss-IDE, or add a plugin of xdoclet-1.2.3, it still cannot.

Actually, the easy solution is to use JDK 5.0 when running xDoclet, that means even the development should be based on JDK 1.4.2, when you run xDoclet, you should switch to JDK 5.0 temporarily. But ensure that switching back to JDK 1.4.2 afterwards, or otherwise the development may use the “new” stuff on JDK 5.0.

2. The other thing is when deploying the *.ear file to JBoss AppServer 4.0.2, it causes an exception saying the web.xml misses ejb-link, I don’t know what it is. But the solution is when making the servlet class, which will be included in the *.war file, the @web.ejb-ref should contain link=”Fibo” as well. So when it is generating the web.xml, the tag will be included.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

AJAXHomework#6

Just finish the practice on AJAX Class 6 which is about another framework, DWR (Direct Web Remoting). This framework provides the capability of calling the function of a JAVA class directly by a corresponding Javascript function.

This kind of framework is good, in which it saves the time to construct the relationship between an AJAX call and a web resource provided by the server side. However, the framework also limits the use of server side to be a JAVA web application. Also, the server side should provide the interface in terms of Javabean, that means other frameworks like Struts and Spring cannot be used.

Another concern that I’m wondering is that, whether I can use DWR at the same time with EJB framework. Theoratically, an EJB should be able to be called by a Javabean, so I guess such combination should work. In fact, I didn’t have a chance to look in depth. May consider to work on this in the future.

Anyway, here is my homework screen capture for Class 6.

AJAXHomework#6

Reference:
http://www.javapassion.com/handsonlabs/ajaxdwrintro/

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

After the trials of running a standalone CAS server, I tried to work with my team on authenticating the user using Microsoft Active Directory. In my company, Active Directory(AD) is the most integrated database on staff information. So the success of authentication on Active Directory almost means the success of implementing central authentication service without changing a lot in the current environment.

However, during the testing stage on connecting the CAS Server to the AD, we have faced a lot of problems. AD is one implementation of Lightweight Directory Access Protocol (LDAP). The default CAS Server package contains two kinds of authentication handler in connecting LDAP servers, which are Fast Bind and Search-and-bind.
Tutorial - http://www.ja-sig.org/products/cas/server/ldapauthhandler/index.html
For the Search-and-bind, since the tutorial uses a secure connection to connect LDAP, but no one in my company know how to turn on the secure channel of LDAP, so we gave it up at a very early stage.

Then, we can only focused on the Fast Bind one. Our experience shows us that the configuration listed in the tutorial is not useful for AD. We can only say the configuration may differentiate when you are using different LDAP servers. The one in the tutorial is for OpenLDAP. According to the post here, I tried changing from “uid” to “cn” accordingly and it succeeded finally. My setting is finally like this.

It is so unexpected that the problem is caused here. It is because I used a software named LDAP Browser before to check the settings of the filter. It showed that using “uid” is valid in connecting the AD.

Besides that, during the investigation in connecting AD, someone told me that I should ignore the PartialResultsException by adding this:

<property name=”ignorePartialResultException” value=”true” />

I don’t know what it is for so far, may need to investigate in a later stage.
http://tp.its.yale.edu/pipermail/cas/2006-September/003417.html

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

Google Notebook

I started using a new tool from Google in last month, which is named Google Notebook. This tool is great in terms of helping me bookmarking some contents when I surf the Internet.

Let say, when I worked on the project about LDAP, I need to find a lot of resources. Traditinoally, I need to bookmark the page to my browser. There are two defects for this method. One is that the broswer only records which page to go, but a page may contain a lot of information which I just need one little part. The other thing is that it is browser-dependant, it’s troublesome to transfer from my IE to my Firefox. It brings me much more trouble if I want to view it in another computer.

Now, Google Notebook saves me. By installing a plugin to the browser (it supports both IE and Firefox in this stage), when I want to keep part of the page, I just need to select the content in the webpage, right-click and select “Note this”. The selected content can be either plain-text with format, or even images.

Google Notebook - Note This

Then, the selected content will be transferred to the database of Google Notebook. After that, I can view the content either through its web interface or throught the plugin installed in the browser. See, it’s so easy and convenient.

Google Notebook - Plugin

Besides the content I select will be recorded by Google Notebook, it also saves the URL of the page. By grouping them into different categories, it already does the Bookmark function of the browsers.

Now, I will added all my favourite pages into Google Notebook. It also becomes a copy & paste function for me between different computers. Google again, wins a battle in the web application competition.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Live
  • Technorati
  • YahooMyWeb

« Older entries

 

October 2006
S M T W T F S
« Sep   Nov »
1234567
891011121314
15161718192021
22232425262728
293031  

Categories