Saturday, July 18, 2009
Eclipse ganymede - more rants
for example, you no longer have struts or hibernate facets in dynamic web projects.
This stupid decision is one for the dogs.
I also noticed that the default JPA providers are Eclipselink and Oracle (Bea) Kodo. Odd that both oracle projects got on the list but the #1 popular provider (Hibernate) didn't make it.
This is an example of political decisions at Eclipse making the product worse , not better, and more exclusive, not inclusive.
Here's another one - the default web service code is all based on Apache Axis. Now don't get me wrong, Axis is ok, but Axis2 is bloatware. So where is the Metro toolkit here? Ahah, nope, Apache (Sanjeva/Dave) koolaid at work here ("let's make axis more popular by excluding the web services stack used by glassfish, weblogic etc").
Oh, you mean IBM is part of the eclipse council? mmmm, no co-incidence that Axis is part of the IBM stacks now ... ??
Eclipse Ganymede update sux
You don't even have the GUI option of turning it off.
Well this web site (http://hamandeggs.wordpress.com/2009/01/20/eclipse-34-ganymede-and-classic-update/ ) shows you how to turn it back on!!
YAY!. P2 Sux.
Friday, July 17, 2009
Wednesday, July 01, 2009
Demonstration of Sherlock - Plagiarism | Subject Centre for Information and Computer Sciences
Tuesday, June 30, 2009
10 dying IT skills | 10 Things | TechRepublic.com
To quote the article:
There are some things in life, like good manners, that never go out of style. And there are other things, like clothing styles, that fall in and out of fashion. But when an IT skill falls out of favor, it rarely ever comes back. Here’s our list of 10 dying IT skills. If any of these skills is your main expertise, perhaps it’s time to think about updating your skill set.
Note: This article is based on a Global Knowledge white paper by Linda Leung.
1: Asynchronous Transfer Mode
ATM was popular in the late 90s, particularly among carriers, as the answer to overworked frame relay for wide-area networking. It was considered more scalable than frame relay and offered inherent QoS support. It was also marketed as a LAN platform, but that was its weakness. According to Wikipedia, ATM failed to gain wide acceptance in the LAN where IP makes more sense for unifying voice and data on the network. Wikipedia notes that ATM will continue to be deployed by carriers that have committed to existing ATM deployments, but the technology is increasingly challenged by speed and traffic shaping requirements of converged voice and data networks. A growing number of carriers are now using Multi-Protocol Label Switching (MPLS), which integrates the label-switching capabilities of ATM with the packet orientation of IP. IT skills researcher Foote Partners listed ATM in its IT Skills and Certification Pay Index as a non-certified IT skill that has decreased in value in the last six month of 2008.
2: Novell NetWare
Novell’s network operating system was the de facto standard for LANs in the 1990s, running on more than 70% of enterprise networks. But Novell failed to compete with the marketing might of Microsoft. Novell tried to put up a good fight by acquiring WordPerfect to compete with Windows Office, but that move failed to ignite the market, and Novell eventually sold WordPerfect to Corel in 1996. Novell certifications, such as Certified Novell Engineer, Master Certified Novell Engineer, Certified Novell Certified Directory Engineer, and Novell Administrator, were once hot in the industry. But now, they are featured in Foote Partners’ list of skills that decreased in value in 2008. Hiring managers want Windows Server and Linux skills instead.
3: Visual J++
Skills pay for Microsoft’s version of Java declined 37.5% last year, according to the Foote Partners’ study. The life of J++, which is available with Microsoft Visual Studio 6.0, was not a smooth one. Although Sun Microsystems licensed Java to Microsoft to develop J++, Microsoft failed to implement some features of the official Java standard while implementing other extensions of its own. Sun sued Microsoft for licensing violations in a legal wrangle that lasted three years. Microsoft eventually replaced J++ with Microsoft .NET.
4: Wireless Application Protocol
Yes, people were able to browse the Internet in the late 90s before Apple’s iPhone. Web site operators would rewrite their content to the WAP’s Wireless Markup Language, enabling users to access Web services such as email, stock results and news headlines using their cell phones and PDAs. WAP was not well received at the beginning because WAP sites were slow and lacked the richness of the Web. WAP has also seen different levels of uptake worldwide because of the different wireless regulations and standards around the world. WAP has since evolved and is a feature of Multimedia Messaging Service, but there is now a new generation of competing mobile Web browsers, including Opera Mobile and the iPhone’s Safari browser.
5: ColdFusion
ColdFusion users rave that this Web programming language is easy to use and quick to jump into, but as many other independent software tools have experienced, it’s hard to compete with products backed by expensive marketing campaigns from Microsoft and others. The language was originally released in 1995 by Allaire, which was acquired by Macromedia (which itself was purchased by Adobe). Today, it is superseded by Microsoft .NET, Java, PHP, and the language of the moment: open source Ruby on Rails. A quick search of the Indeed.com job aggregator site returned 11,045 jobs seeking PHP skills, compared to 2,027 CF jobs. Even Ruby on Rails, which is a much newer technology - and which received a major boost when Apple packaged it with OS X v10.5 in 2007 — returned 1,550 jobs openings on Indeed.com.
6: RAD/extreme programming
Back in the late 90s and early 2000s, the rapid application development and extreme programming development philosophies resulted in quicker and more flexible programming that embraced the ever-changing needs of customers during the development process. In XP, developers adapted to changing requirements at any point during the project life rather than attempting to define all requirements at the beginning. In RAD, developers embraced interactive use of structured techniques and prototyping to define users’ requirements. The result was accelerated software development. Although the skills were consistently the highest paying in Foote Partners survey since 1999, they began to lose ground in 2003 due to the proliferation of offshore outsourcing of applications development.
7: Siebel
Siebel is one skill that makes a recurring appearance in the Foote Partners’ list of skills that have lost their luster. Siebel was synonymous with customer relationship management in the late 90s and early 2000s, and the company dominated the market with a 45% share in 2002. Founded by Thomas Siebel, a former Oracle executive with no love lost for his past employer, Siebel competed aggressively with Oracle until 2006 when it was ultimately acquired by the database giant. Siebel’s complex and expensive CRM software required experts to install and manage. That model lost out to the new breed of software-as-a-service (SaaS) packages from companies such as Salesforce.com, which deliver comparable software over the Web. According to the ITJobsWatch.com, Siebel experts command an average salary of GBP52,684 ($78,564), but that’s a slide from GBP55,122 a year ago. Siebel is ranked 319 in the job research site’s list of jobs in demand, compared to 310 in 2008.
8: SNA
The introduction of IP and other Internet networking technologies into enterprises in the 1990s signaled the demise of IBM’s proprietary Systems Network Architecture. According to Wikipedia, the protocol is still used extensively in banks and other financial transaction networks and so SNA skills continue to appear in job ads. But permanent positions seeking SNA skills are few and far between. ITJobsWatch.com noted that there were three opening for permanent jobs between February and April, compared to 43 during the same period last year. Meanwhile, companies such as HP offer consultants with experience in SNA and other legacy skills, such as OpenVMS and Tru64 UNIX for short-term assignments.
9: HTML
We’re not suggesting the Internet is dead, but with the proliferation of easy-to-use WYSIWYG HTML editors enabling non-techies to set up blogs and Web pages, Web site development is no longer a black art. Sure, there’s still a need for professional Web developers, but a good grasp of HTML isn’t the only skill required of a Web developer. Professional developers often have expertise in Java, AJAX, C++, and .NET, among other programming languages. HTML as a skill lost more than 40% of its value between 2001 and 2003, according to Foote Partners.
10: COBOL
Is it dead or alive? This 40-year-old programming language often appears in lists of dying IT skills. But it also appears in as many articles about organizations with legacy applications written in COBOL that are having a hard time finding workers with COBOL skills. IBM cites statistics that 70% of the world’s business data is still being processed by COBOL applications. But how many of these applications will remain in COBOL for the long term? Even IBM is pushing its customers to “build bridges” and use service-oriented architecture to “transform legacy applications and make them part of a fast and flexible IT architecture.”
Friday, June 26, 2009
Design enterprise applications with the EJB 3.0 Java Persistence API
http://www.ibm.com/developerworks/java/library/j-ejb3jpa.html
Here is a live example: (based on ibatis) http://www.jwebhosting.net/servlets/jpetstore5/index.html
Here is a Petstore 2.0 on google app engine: http://jazzmaster-examples.appspot.com/petstore/
Saturday, June 20, 2009
Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket
Wednesday, June 17, 2009
Android sucks
or.. at least the UI.
(see http://code.google.com/p/android/issues/detail?id=1386)
But good news - since this is based on Linux, and linux supports WPA-enterprise, an enterprising (sic.) student at Purdue, Fan Zhang, has built an android app to edit the wifi supplicant code in the linux kernel to allow you to edit the supplicant configuration file!
http://forum.xda-developers.com/showthread.php?p=3765595
You can download the app from the Android Marketplace, or from here:
http://web.ics.purdue.edu/%7Ezhang42/wifiHelper.apk
The source is here: wifihelper - Google Code
Monday, June 15, 2009
How-To: Use iPhone as USB Mass Storage & File Viewer - MacTalk Forums
Friday, June 05, 2009
Running J2ME on Android
Friday, May 29, 2009
Wednesday, May 20, 2009
Epic user interface fail of Homeric proportions
peripatetic axiom: Epic uer interface fail of Homeric proportions
Monday, May 18, 2009
The Five Essential Phone-Screen Questions
Without further ado, here they are: The Five Essential Questions for the first phone-screen with an SDE candidate:
1) Coding. The candidate has to write some simple code, with correct syntax, in C, C++, or Java.
2) OO design. The candidate has to define basic OO concepts, and come up with classes to model a simple problem.
3) Scripting and regexes. The candidate has to describe how to find the phone numbers in 50,000 HTML pages.
4) Data structures. The candidate has to demonstrate basic knowledge of the most common data structures.
5) Bits and bytes. The candidate has to answer simple questions about bits, bytes, and binary numbers.
The FizzBuzz test & programmers ... or not
Simple test for programming skills:
Write a program that prints the numbers from 1 to 100.
But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz".
For numbers which are multiples of both three and five print "FizzBuzz".
See also:
Separating Programming Sheep from Non-Programming Goats
it seems fundamental skills are not being understood:See also :http://www.cs.mdx.ac.uk/research/PhDArea/saeed/
All teachers of programming find that their results display a 'double hump'. It is as if there are two populations: those who can, and those who cannot, each with its own independent bell curve. Almost all research into programming teaching and learning have concentrated on teaching: change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists. We have a test which picks out the population that can program, before the course begins. We can pick apart the double hump. You probably don't believe this, but you will after you hear the talk. We don't know exactly how/why it works, but we have some good theories.
So true. I see this in all my programming subjects!!!
Tuesday, May 12, 2009
Friday, May 08, 2009
So I want to use the JAX-WS RI with JDK 6, so I need the endorsed directory right?
Thursday, April 30, 2009
Wednesday, April 29, 2009
Improve your XSLT coding five ways
Tip 1: Cascading style sheets, tables, and XSLT
Tip 2: HTML entities
[ incidentally, to use non-breaking spaces, use #&160; ]
Tip 3: Multiple input documents
Tip 4: XSLT and client-side JavaScript
Tip 5: Automating style sheet creation
Friday, April 24, 2009
Star Trek XI trailer music
http://www.imeem.com/people/hhz_iA/music/2KihKMOL/two-steps-from-hell-freedom-
fighters/#
Thursday, April 23, 2009
Oracle Take a REST on JAX-WS with WebLogic Server 10.3
Wednesday, April 15, 2009
GNS3 - a Cisco network simulator
Graphical Network Simulator 3
This basically simulates the common hardware used by the following CISCO routers:
Cisco 3600 series (3620, 3640 and 3660), 3700 series (3725, 3745) and 2600 series (2610 to 2650XM, 2691).
The core module is the Dynamips project (http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator)
XML appliances and SOA
Translated version of http://ws-express.blogspot.com/2008/10/solutions-appliances-xml-et-soa.html
Note this list is a mix of Application and Security vendors:
Current players:
Layer 7
IBM Websphere Datapower (ex-Datapower)
Intel SOA (ex-Sarvega)
Forum Systems
Cisco ACE (ex-Reactivity)
Cisco AON
Vordel
Cast Iron
F5 BIG-IP
Radware
Dajeil
Xtradyne
Acatel-Lucent Omniaccess
Meddius
Stampede
Strangeloop
Sonoa
Solace
Safenet
Azul
Bee ware
Original list:
- Layer 7 SecureSpan XML Accelerator (1U virtual appliance) ;
- Layer 7 SecureSpan XML Data Screen (1U virtual appliance) ;
- Layer 7 SecureSpan XML Firewall & VPN (1U virtual appliance) ;
- Layer 7 SecureSpan XML N&working Gateway (1U virtual appliance) ;
- Layer 7 SecureSpan Mainframe SOA Gateway (1U virtual appliance) ;
- IBM WebSphere DataPower XML Accelerator XA35 (ex-DataPower - 1U) ;
- IBM WebSphere DataPower XML Security Gateway XS40 (ex-DataPower - 1U) ;
- IBM WebSphere DataPower Integration Appliance XI50 (ex-DataPower - 1U) ;
- Intel SOA Expressway (ex-Sarvega - software appliance) ;
- Intel SOA Expressway for Healthcare (ex-Sarvega - software appliance) ;
- Forum Systems Sentry SOA Gateway (1U software appliance) ;
- Forum Systems Secure Token Service Gateway (1U software appliance) ;
- Cisco ACE XML Gateway (ex-Reactivity - 1U) ;
- Cisco ACE Web Application Firewall (ex-Reactivity) ;
- Cisco AON 8340 Series Application-Oriented N&working (3U) ;
- Cisco ADE 1010 Series + AON Healthcare Services Extension HIPAA/ePrescription 1.0 (1U) ;
- Cisco ADE 2142 Series + AON Healthcare Services Extension HIPAA/ePrescription 1.0 (1U) ;
- Vordel XML Gateway (1U, 2U software appliance) ;
- Vordel XML Firewall (1U, 2U software appliance) ;
- Cast Iron Systems iA2000 (1U) & Salesforce, RightNow, N&Suite, SAP, ... ;
- Cast Iron Systems iA2500 (1U) & Salesforce, RightNow, N&Suite, SAP, ... ;
- Cast Iron Systems iA4000 (1U) & Salesforce, RightNow, N&Suite, SAP, ... ;
- Cast Iron Systems iA4000HA (1U * 2) & Salesforce, RightNow, N&Suite, SAP, ... ;
- F5 N&works BIG-IP Local Traffic Manager (1U, 2U lame) ;
- Radware AppXcel (1U 3U) ;
- Radware AppXML (3U) ;
- Dajeil N&worked Accelerator (1U) ;
- Dajeil XML & Web Services Processing (1U) ;
- Dajeil DH15K Web Services / XML Processing Module (PCI) ;
- Dajeil DH150Ke XML Acceleration Card (PCI Express) ;
- Xtradyne Web Services Domain Bndary Controller (software appliance) ;
- Alcatel-Lucent OmniAccess 8550 Web Services Gateway (2U) ;
- Meddius Integration Rter (1U) ;
- Stampede Web 2.0 Performance Series (1U) ;
- Strangeloop WS1000 Web Services Accelerator (1U) ;
- Strangeloop AS1000 Application Scaling Appliance (1U) ;
- Sonoa ServiceN& (1U virtual appliance) ;
- Solace 3230 & 3260 Content Rters (2U & 4U + sizes) ;
- SafeN& Luna XML (1U) ;
- Azul Vega 3 7300 & 3300 Series (5U & 14U) ;
- Bee Ware i-Sentry (1U & 2U) ;
- Bee Ware v-Sentry (1U & 2U).
Dawn of the App Aware Network
Web services (and XML-RPC and REST) and Enterprise Service Bus fit this model quite nicely.
XML accelerator Devices such as Cisco AON or Cisco ACE (ex-Reactivity) or IBM Datapower can be used to replace the Web services routing function required by modern distributed applications into the network.
The implication?
This changes the model of application development from a software-architecture centric viewpoint into a services oriented architecture.
And the commoditisation of this will drive costs down for enterprises and will harm revenue for middleware vendors.
The edge is here.
Why not go a step further? How about pushing application processing to the edge of the network?
In my Faculty [Engineering and IT]/School of Computing and Communications, we are developing Mobile Health applications using 'motes' - tiny devices running a pico-net (and a mutant version of Java)
Tuesday, April 14, 2009
Testing post by windows live writer
this is a test of windows live writer.
I used to use w.bloggar, but it now fails on blogger.
Ditto with Post2Blog
The issue with free code is that is rarely is updated when the underlying API’s change.
Curse you blogger!
Monday, April 13, 2009
Don’t Invent XML Languages
Tim Bray in 06 suggested that you shouldn't reinvent any XMl language, unless you can prove it doesn't fit the "BIG 5":
The Big Five
Suppose you’ve got an application where a markup language would be handy, and you’re wisely resisting the temptation to build your own. What are you going to do, then? ¶
The smartest thing to do would be to find a way to use one of the perfectly good markup languages that have been designed and debugged and have validators and authoring software and parsers and generators and all that other good stuff. Here’s a radical idea: don’t even think of making your own language until you’re sure that you can’t do the job using one of the Big Five: XHTML, DocBook, ODF, UBL, and Atom.
XHTML + Microformats:
If you’re delivering information to humans over the Web, even if you don’t think of it as “Web Pages”, it’s almost certainly insane not to use XHTML. Yes, XHTML is semantically weak and doesn’t really grok hierarchy and has a bunch of other problems. That’s OK, because it has a general-purpose class attribute and ignores markup it doesn’t know about and you can bastardize it eight ways from center without anything breaking. The Kool Kids call this “Microformats” and in fact I accidentally invented one on ongoing last November; look at that template and its class attributes. ¶
And of course, if you use XHTML you can feed it to the browsers that are already there on a few hundred million desktops and humans can read it, and if they want to know how to do what it’s doing, they can “View Source”—these are powerful arguments.
DocBook
Suppose you’re building something that needs to go bigger and deeper and richer than XHTML is comfy with, and you want to repurpose it for print and electronic and voice, and you need chapters and sections and appendices and bibliographies and footnotes and so on. DocBook is what you need. It’s got everything you could possibly begin to imagine already built-in, and there are lots of good tools out there to do useful things with it. ¶
ODF
Suppose you’re working with material that’s going to have a lot of workflow around it, and be complex, visually if not structurally, and maybe some day will be printed out and have signatures at the bottom. ODF is what you want. Not the most Web-oriented approach, but on the other hand the authoring tools are more human-friendly than anything else on this list. ¶
UBL
If you’re working with invoices and purchase orders and that kind of stuff (and who isn’t?), do not even think of inventing anything. A whole bunch of smart people have put hundreds of person-years into pulling together the basics, and they did a good job, and it’s ready to go today. Look no further. ¶
Atom
Suppose you think of your data as a list of, well, anything: stock prices or workflow steps or cake ingredients or sports statistics. Atom might be for you. Suppose the things in the list ought to have human-readable labels and have to carry a timestamp and might be re-aggregated into other lists. Atom is almost certainly what you need. And for a data format that didn’t exist a year ago, there’s a whole great big butt-load of software that understands it. ¶
Friday, April 10, 2009
More ESB comparisons
See also: Manning: Good book: Open-Source ESBs in Action (Chapter1)
Wikipedia http://en.wikipedia.org/wiki/Comparison_of_business_integration_software
Aqualogic vs Mule vs Servicemix vs Websphere: http://eugeneciurana.com/musings/ESB-comparison.pdf
or http://www.networkcomputing.com/article/printFullArticle.jhtml?articleID=181501276
& finally the above references scorecard:
Wednesday, April 01, 2009
weirdness with java 6 JAX-WS
Tomcat security
Locating the appropriate permissions is pretty daunting.Now lhttp://www.onjava.com/pub/a/onjava/2007/01/03/discovering-java-security-requirements.html has a tool calledProfilingSecurityManager (which is just a custom SecurityManager class) which displays the permissions required(basically start catalina with -Djava.security.manager=secmgr.ProfingSecurityManager)You then use a perl script
Another reference is http://www.petrovic.org/blog/2006/05/07/tomcat-security-option-and-catalinapolicy-file
Basically export CATALINA_OPTS=-Djava.security.debug=access,failurethen run catalina.sh run -security
Look in catalina.out for denied.Then seek for "domain that failed ProtectionDomain" for the codebase or domain.
http://www.jchains.org/ also allows you to do the same for standard java execution.
Tuesday, March 31, 2009
Java Logging API and How To Use It
On tomcat 5.5 we have the JULI library which replaces the standard java logger.
So to get per-context logging, put
logging.properties into WEB-INF/classes with the following contents:
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = myapp-prefix.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
ps: here are the standard set of JULI properties:
- org.apache.juli.FileHandler.directory
- org.apache.juli.FileHandler.prefix
- org.apache.juli.FileHandler.suffix
- org.apache.juli.FileHandler.level
- org.apache.juli.FileHandler.filter
- org.apache.juli.FileHandler.formatter
Tuesday, March 24, 2009
Disabling Certificate Validation in an HTTPS Connection (Java Developers Almanac Example)
Disabling Certificate Validation in an HTTPS Connection (Java Developers Almanac Example E502)
e502. Disabling Certificate Validation in an HTTPS Connection
By default, accessing an HTTPS URL using the URL class results in an exception if the server's certificate chain cannot be validated has not previously been installed in the truststore. If you want to disable the validation of certificates for testing purposes, you need to override the default trust manager with one that trusts all certificates.
exception if the server's certificate chain cannot be validated has not previously been installed in the truststore. If you want to disable the validation of certificates for testing purposes, you need to override the default trust manager with one that trusts all certificates.
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception e) {
}
Client:
// Now you can access an https URL without having the certificate in the truststore
try {
URL url = new URL("https://hostname/index.html");
} catch (MalformedURLException e) {
}
Saturday, March 21, 2009
Google street view hits cairns!
And here is the old Cairns house: <http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=16+ward+st+mooroobool&sll=-16.933004,145.728707&sspn=0.024592,0.038967&ie=UTF8&ll=-16.933989,145.743728&spn=0.005542,0.019484&z=16&iwloc=addr&layer=c&cbll=-16.93399,145.74373&panoid=5E_F8Yl08u2hRIHT1aW_tw&cbp=11,48.12376890949633,,0,4.008810572687228>
Friday, March 20, 2009
Critical Steps to Secure Tomcat on Windows NT/2K/XP
wow, running tomcat can really cause security holes.
fancy
Runtime rt = Runtime.getRuntime();
rt.exec("c:\\SomeDirectory\\SomeUnsafeProgram.exe")
running under the system context (As Administrator!!) of windows.
boo yaa!
Wednesday, March 18, 2009
A quick way of entering blog entries.
chris
Tuesday, March 17, 2009
converting unix date to excel date
On excel, it's 1/1/1900
So to convert the unix timestamp to microsoft excel, use the formula:
=timestamp/86400 + "1/1/1970"
(where 86400 = 24 * 60* 60 ie: # seconds in a day).
Oh you might also want to add/subtract an offset for the timezone (depending on the timezone settings of your unix box). eg: for +10 GMT (sydney, melbourne, canberra) add 10/24 ie: 0.416667
ps: make the cell format Date or Time or Custom format.
Personally I prefer ddd dd/mm/yyyy HH:mm:ss (ie: Tue 03/03/1999 23:59:43)
Sunday, March 15, 2009
2008 SOA magazine readers choice
Some make sense and some don't.
Best App server:
- IBM websphere (yeah, huge number of commercial, plus ambigous since this includes WASCE and probably Apache Geronimo)
- Glassfish (big push from SUN)
- Weblogic (ol' favorite, but Oracle owns this now and god knows how they market it)
- WSO2 (** weird?? Where did this come from? Maybe manipulation?)
- JBoss (huh, would have thought this near #2 or #4)
- NetBeans (assuming 6.1, which is excellent)
- Rational Application Developer (eclipse)
- Oracle JDeveloper (not eclipse)
Best Integration Server
- Websphere Integration Developer
- Fiorano ESB
- Java CAPS (glassfish++)
Best Opensource SOA
- WASCE (does this include Apache Geronimo??)
- Sun openESB
- SoapUI
Best Portal
- IBM Websphere Portal
- Sun Portal
- Weblogic Portal 10.2
Best Security
- IBM Datapower XML security gateway XS40
- Sun access manager/open SSO
- oracle web services management
- Metro
Best SOA platform
- IBM Websphere
- Fiorano SOA
- Sun Java CAPS
Best SOA Testing tool
- Rational Tester for SOA
- SoapUI
Best SOA Tool
- Fiorano ESB
- Sun Java CAPS
- Rational Software Architect
- Rational Team concert
It's a bit weird to mix development tools (#3 RSA & #4 Rational Team) with servers (#1, #2). Maybe that's why IBM got pushed down, staff got confused..
Best SOA training site
- IBM SOA Sandbox
- SOA Training Curriculum (MomentumSI)
Best SOA Book
- IBM"The New Language of Business: SOA & Web 2.0"
- Amberpoint et al An Implementorï¾’s Guide to SOA ï¾– Getting it Right
- IONA Understanding SOA with Web Services
Best SOA or XML Site:
Yeah they are ok. What about non-vendor stuff.
Con-clusion:
sys-con SOAWorld magazine tries to be a vendor neutral but they need some mechanism to do a real unbiased report. Maybe if Gartner or any of the reputable firms would run the survey I would be less skeptical.
Thursday, February 26, 2009
Do's and don'ts with babies :: Hilarious pics
Made me cry with laughter. Though I didn't see what's wrong with the last 2 ones..
Tuesday, October 21, 2008
Dustin's Software Development Cogitations and Speculations: Standardization: The Dangerous Relationship for Open Source
eg: xdoclet eg: log4j
Dustin's Software Development Cogitations and Speculations: Standardization: The Dangerous Relationship for Open Source
The main factor of course with open source is the commitment of the developers, supporters, vendors and community of users. Like every fad, they can come and go really quickly....
FUD rulez!
Sunday, October 19, 2008
Aarne-Thompson classification system - Wikipedia, the free encyclopedia
So star wars was standard plot 5 & 17 with subplots 3 with twist 8.
Well... at the turn of last century, Aarne & Thompson developed the Aarne-Thompson classification system for classifying folktales!!
Good grief I say!
After all, the classic stories about clever foxes is "The Clever Fox (Other Animal) 1–69"
or how about Realistic Tales (Novelle) : "The Man Marries the Princess 850–869"
omg. Now for a phD for my classification system for movies and tv plots. .
mmm
nice.
Thursday, October 16, 2008
most popular programming language
The rest are:
Oct 2008 | Position Oct 2007 | Delta in Position | Programming Language | Ratings Oct 2008 | Delta Oct 2007 | Status |
|---|---|---|---|---|---|---|
| 1 | 1 | Java | 20.949% | -0.67% | A | |
| 2 | 2 | C | 15.565% | +0.97% | A | |
| 3 | 4 | | C++ | 10.954% | +1.37% | A |
| 4 | 3 | | (Visual) Basic | 9.811% | -1.35% | A |
| 5 | 5 | PHP | 8.612% | -0.89% | A | |
| 6 | 8 | | Python | 4.565% | +1.13% | A |
| 7 | 6 | | Perl | 4.419% | -0.93% | A |
| 8 | 7 | | C# | 3.767% | +0.03% | A |
| 9 | 13 | | Delphi | 3.288% | +1.75% | A |
| 10 | 10 | Ruby | 2.860% | +0.47% | A | |
| 11 | 9 | | JavaScript | 2.670% | -0.01% | A |
| 12 | 12 | D | 1.333% | -0.26% | A | |
| 13 | 11 | | PL/SQL | 1.024% | -0.94% | A- |
| 14 | 14 | SAS | 0.600% | -0.78% | B | |
| 15 | 17 | | Lua | 0.551% | -0.04% | B |
| 16 | 21 | | Pascal | 0.520% | +0.10% | B |
| 17 | 22 | | ActionScript | 0.506% | +0.14% | B |
| 18 | 16 | | COBOL | 0.491% | -0.19% | B |
| 19 | 18 | | Lisp/Scheme | 0.485% | -0.09% | B |
| 20 | 15 | | ABAP | 0.445% | -0.40% | B |
Remember Smalltalk?
Here a simply equation. In terms of mental fortitude…
1 Smalltalk developer = 2.5 C++ developers
1 C++ Developer = 1.5 Java developers
in other words…
Smalltalk is a meal with a fine Bordeaux and a petite filet mignon
Java is a meal with a cold beer and t-bone
So Yeah.. I said it.
Smalltalk is making a comeback. (pausing to wait for reader to regain consciousness)
...
Its somewhat funny to consider that a new generation of developers (post C++) consider the features in Ruby to be bleeding edge when in fact they are mostly retro features of things that Smalltalk has done for decades. The challenge of course is that languages like Python and Ruby have the heat needed to create a strong momentum. Smalltalk enjoys the benefit of association but not enough to transfer that heat in large volume — at least not yet.
Dave Thomas (OTI head) wrote a oldish article in Celebrating 25 Years of Smalltalk about the impact of Smalltalk (don't I remember Footprint and ENVYand the horrors of Visual Banker!)
or an alternative view: What would you miss if you had to stop using ruby and go back to smalltalk?. Yeah I remember that hassle with Operator precedence and the pain it caused.
Finally, a web framework for smalltalk!! http://www.seaside.st/ or Aida http://ww.aidaweb.si/
so... what about Scala? (wikipedia entry)
Tuesday, October 07, 2008
weblogic workshop 10 and EJB 3.0
in particular, using workshop 10 for EJB 3.0 development
Monday, October 06, 2008
InfoQ: How to GET a Cup of Coffee
Interesting article on REST using starbucks as an analogy. Might ask Jim Webber if I can use this for my REST lecture in 31284 web services developer / 32525 Web services technologies
Sunday, October 05, 2008
Embedded Jetty
Since the students have a limited amount of space, having a <5Mb web application service sounds nice.
(I set up Tomcat, and reduced it to 4.6Mb by having lots of symlinks to /usr/share/java which we happened to have a lot of the common libraries installed)
Using symlinks (again) I should be able to reduce this to < 2Mb.
Anyway, found out how to embed Jetty ... might make my own axis "simpleJettyServer" based on the following. ps: I wonder how you map using this?
So Long WTP, Embedded Jetty for Me - Code Commit: "
public class StartApplication {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
Context context = new Context(server, "/", Context.SESSIONS);
ServletHolder servletHolder = new ServletHolder(new WicketServlet());
servletHolder.setInitParameter("applicationClassName",
"com.myapp.wicket.Application");
servletHolder.setInitOrder(1);
context.addServlet(servletHolder, "/*");
server.start();
server.join();
}
}
Thursday, October 02, 2008
BEA Workshop - with Ajax
Unfortunately, when installed over Eclipse Europa JST All In One it causes the occasional crash.
here's an alternative - install it as an eclipse extension (so we can disable the install if necessary).
http://www.oracle.com/technology/pub/articles/dev2arch/2008/03/ajax-with-bea-workshop.html
ps: you can also use the eclipse link function eg /opt/eclipse/links/plugin.link where the .link file contains path=/path-to-plugin/
Workshop for WebLogic 10.3 JEE 5 Trial and Error
Workshop for WebLogic 10.3 JEE 5 Trial and Error (James Bayer's Blog)
Installing CVS plugins into Oracle Workshop for Weblogic 10.3
IDIOTS!!!!
Installing CVS plugins into Oracle Workshop for Weblogic 10.3 (Greg Stachnick's Blog)
Now I'm also using SVN with Oracle Workshop 10.3.
The update site do not work - don't try the subversive plugin from eclipse - this causes a JDT error on Eclipse Europa (Oracle Workshop 10.3 version)
Use http://subclipse.tigris.org/ instead. And don't use the JavaHL driver unless you have the official SVN client from tigris.org
Monday, September 29, 2008
Saturday, September 06, 2008
Weblogic Embedded LDAP server
Good guide on how to use the embedded Weblogic LDAP server.
To view the current LDAP tree (but not! the myrealm security!!)
Weblogic -> Console -> Domain -> AdminServer -> View JNDI Tree
Other bits:
http://edocs.bea.com/wls/docs100/ConsoleHelp/taskhelp/security/ConfigureEmbeddedLDAPServers.html
Essentially you need to also set up a security credential password for weblogic (otherwise weblogic generates a random password)
Domain -> Security > Embedded LDAP
ps: you can also set anonymous bind here too.
Using it: Credentials: cn=Admin & password = credential password you set up earlier
Base Dn: dc=domain_name (ie: your weblogic domain name eg: weblogic)
Heirarchy:
Users ou=people,ou=myrealm,dc=mydomain
Groups ou=groups,ou=myrealm,dc=mydomain
Security roles ou=ERole,ou=myrealm,dc=mydomain
Security policies ou=EResource,ou=myrealm,dc=mydomain
Using an LDAP browser, you get to see the following heirarchy when using Base DN: dc=weblogic
And when you use dc=Config you get

Saturday, August 23, 2008
Faith in humanity restored
Last night at 6pm I got a call from Bondi Beach Police - the laptop bag had been found at Bondi Pavilion! With everything inside ok!
My God, that was an interesting tale to tell. It seems like whoever took the laptop bag carried it all the way to Bondi Beach and according to the Laptop logs, tried to access it at 4:50pm.
Of course, one of the best things about thinkpads is that they have a bios/harddisk password system, and the X60s also has a fingerprint reader.
So whoever turned them on couldn't even get past the bios startup page .. and just dumped the bag. They just took my name tag!! (it was an Ansett Golden Wing baggage label - rare I guess??) and my reflector/light on the outside of the bag? They even left my memory keys, papers, and USB wifi detector behind.
After picking up the laptops, I had to think seriously about security in the future...
But... my faith in the fundamental honesty of mankind has been restored...
Some bypasser found it and returned it to the police station.
Friday, August 22, 2008
tragedy and stupidity
I rushed to work today from Burwood (where I left Priscilla and the kids to learn swimming) and caught the train to central.
I was pretty sleepy on the train (kids again, poor sleep) and left the train at central.
The problem was that this wasn't a usual schedule for me. I brought 2 bags today, the other had books in it. so.... I left the other one on the train!!!
The bad news is this was my ... LAPTOP bag!! It's gone!! AArrggh!!
What's even worse...
I brought my NEW laptop in the same bag!! 2 laptops in 1 bag! LOST ON THE TRAIN.
How can I make this even more worse??
MY daughter's BIRTH CERTIFICATES were in that bag as well! (I was going to photocopy them at work!). And I have FINANCIAL information on it in spreadsheets. I guess they could also try to hack my security (eg: Firefox master password) etc.
I've been panicking - at the station they got the guard to look at the North Sydney stop, no dice.
Tried lost and found, called Wynyard, been to Town Hall, registered at Central station.. no dice.
I guess I just have to live on faith that someone will hand it in, but this is unlikely since I had a name tag on the bag with my name and mobile number in it.
I can only live in hope....
ps: the laptops were an IBM Thinkpad X30 (upgraded a lot) and a Lenovo Thinkpad X60s (upgraded a lot too). Bummer dude.
Monday, August 04, 2008
'Hello World' example of an Applet using Java RMI
Also Sun Blueprints (they recommend using a servlet as intermediary)
Saturday, August 02, 2008
Wednesday, July 30, 2008
ZapThink :: Become a Licensed ZapThink Architect (LZA)
Yet another credential. However, I do respect zapthink consulting, but every man and his dog seems to have certifications.
Looking at their 4 day bootcamp in Melbourne, September 1-4, 2008 (ps: USD1995 with USD500 early bird discount), they do the following: (quoted)
LZA Credential Levels and Requirements
Since architects come in all shapes and sizes, and since the credential program sets a quality bar for those that go through it, ZapThink has the following levels of credential to match your skills and capabilities:
Junior Licensed ZapThink Architect
- No prior enterprise architect experience necessary. Completion of four-day LZA Bootcamp including completion of all the exercises at the Bootcamp.
Senior Licensed ZapThink Architect
- Need one of the following:
- A pre-existing Senior LZA credential
- Two years of experience as an Enterprise Architect
- Completion of four-day LZA Bootcamp including completion of all the exercises at the Bootcamp
Licensed ZapThink Architect Fellow (Trainer)
- Need to have an active Senior LZA credential; AND
- Five years of experience as an architect; AND
- Participation as an apprentice ZapThink trainer at two ZapThink LZA boot camps.
The LZA Credentialing Process
The LZA credential is an annual credential. Since SOA and enterprise architecture as a whole undergoes continuous change, our ability to back your capabilities lasts as long as the knowledge is still thought-leading. As such, we offer our LZA program on an annual basis. The process for becoming a Licensed ZapThink Architect is straigth-forward and simple if you already have some enterprise architecture skills.
- Pre-Qualifications: You must have at least some demonstrable enterprise architect experience as an individual, with an enterprise end-user firm, or at a consulting practice with a consulting firm or vendor company with a consulting practice. We ask that you submit your current CV or resume and answer a few survey questions as a means to ascertain your applicable skills.
- The LZA Bootcamp: The credentialing process itself consists of a four-day workshop structured as a means to exchange the latest SOA practices, methodologies, and artifacts, and finishes on the last day with a one-on-one evaluation of your capabilities for credentialing. You leave the LZA bootcamp with a credential for your efforts, and with our knowledge of your expertise. LZA bootcamps are offered multiple times a year at designated training locations. Class sizes are limited to no more than fifty (50) so that we can properly credential each individual architect.
Licensed ZapThink Architect Course Agenda
Day One
Module 1: Fundamentals of SOA
- Business Agility
- Business Constant: Change
- The Problems of IT are The Problems of Business
- If you are in a Hole, Stop Digging!
- The Business Inflexibility Trap
- Business Agility
- Service Orientation: A Business Approach
- What is SOA?
- Is SOA New?
- One Difference is Web Services
- SOA vs. Web Services
- Confusing SOA & Web Services
- If not Web Services, Then What?
- Business Drivers for SOA
- The Distributed Computing Pendulum
- Service orientation: the next big thing?
- SOA: Paradigm Shift?
- So, How to Implement SOA?
- There’s No Such Thing as a SOA Wizard!
- Levels of Service Abstraction
- Consumers & Providers
- What are Services? (Technically, Service interfaces)
- Interoperability vs. Portability
- Service Interfaces Aren’t Good Enough!
- The Difference is the Abstraction
- The Fundamental Technical Challenge of SOA
- Multiple Interfaces per Implementation
- Multiple Implementations per Interface
- Multiple Interfaces per Business Service
- Actualizing the Business Service Abstraction
- The Secret Sauce: Metadata
- Programmatic vs. Declarative
- What are Metadata?
- Metadata for SOA
- What’s a Service Contract?
- What’s in a Contract?
- What’s NOT in the Contract
- WSDL: Service Contract Starting Point
- Contract Metadata Beyond WSDL
- Sample Service Contract Template
- How to Think Service-Oriented
- Module 1 Case Studies: Mini-Studies on SOA Use
- Shared Services: US PTO
- Reducing Integration Costs: Aeroplan
- Compliance & Volume: Wells Fargo Bank
- Meeting Client Needs: MITRE
Exercise: Service Contract Definition
In this exercise, teams will create their own Service Contract Template, explaining all the elements of metadata and information needed to describe appropriately abstract, loosely coupled, and composable Services. Then, they will use their Service contract template to sketch out the contents of a contract for a particular Service.Module 2: SOA as Architecture
- SOA & Enterprise Architecture
- What is Architecture?
- Architecture is not About the Technology
- SOA Views
- Many Perspectives on SOA
- SOA: A Technology View
- SOA: Infrastructure Service View
- SOA: A Business Service View
- SOA as Enterprise Architecture
- The Zachman Framework
- Pros & Cons of Zachman
- SOA & Zachman
- Architectural Artifacts
- Map of Architectural Artifacts
- SOA Modeling
- The SOA Metamodel
- Building the Service Model
- SOA Foundation: Model-Driven Architecture
- The Service Model: Building Business Services
- The IBM Component Business Model
- SOA Foundation: The 4+1 View Model
- The 4+1 View Model & The SOA Metamodel
- Defining the Service Model
- Service Model Drives Contract-First Development
- The Challenges of Contract-First Development
- Defining Services
- Service-Level Understanding
- Validating Service Assumptions
- Key Service Abstraction Enabler: Coarse Granularity
- Achieving Proper Granularity
- Zeroing in on Proper Granularity
- Granularity vs. Atomicity
- Example: Too Fine Grained vs. Too Coarse Grained
- Service Identification: Top Down vs. Bottom Up
- Loose Coupling: Separation of Concerns
- The Web: Loose Coupling in Action
- Service Contracts: The Key to Loose Coupling
- Levels of Coupling
- RPC vs. Document-Style
- Loose Coupling and Context
- Services & the Process Model
- Service Identification: Process Decomposition
- New Service Definition
Exercise: Building a Service Model
Participants analyze a set of high level current, and future, business and technical requirements, evolve an SOA strategy and then perform a top-down and bottom-up plan for Services, identifying their core components and key characteristics.Day Two
Module 3: SOA Infrastructure (Part I): Messaging, Data, and Legacy
- SOA Infrastructure Concepts
- Technology Selection: Approach, Choices & Challenges
- Purchasing SOA Infrastructure
- The Problems with "Vendor-Driven Architecture"
- SOA Infrastructure Starting Point: The Intermediary
- Some Intermediary Roles
- The Great ESB/ SOA Middleware Boondoggle
- Buy More Middleware for SOA?
- Compounding the Problem: No Clear ESB Definition
- Do You need an ESB for Service Mediation?
- Intermediary-Based Service Abstraction
- Building Intermediary-Based SOA Infrastructure
- Levels of SOA Infrastructure
- SOA Infrastructure: More than Intermediation
- Exposing Existing Capabilities
- The Continued Value of Legacy
- SOA, Integration & Legacy
- Legacy Migration
- Legacy Enablement
- Legacy Rejuvenation
- SOA & "Legacy" Heterogeneous Data & Data Stores
- The Data Services Layer
- Data-Level Understanding
- Understanding Data Services
- Data Integration & the Data Services Layer
- Supporting Data Services with Data Integration
- Leveraging Existing Data
- Leveraging Data Services Layer
- The Data Services Layer Abstraction
- Messaging Infrastructure
- SOA Message Exchange Patterns
- SOA Tenet: Asynchrony
- Messages vs. Events
Module 4: SOA Infrastructure (Part II): Performance, Security, and Semantics
- Addressing SOA Performance Challenges
- Challenges at the Content Level
- Challenges in Content Processing
- SOA Depends upon Transformation & Content-Based Routing
- Is XML Required for SOA?
- XML: Foundation for Web Services
- The XML Processing Problem
- The XML Performance Crisis
- Hardware vs. Software Approaches to Improve XML Performance
- Distributed XML Processing
- Critical XML Processing Challenge: Security
- The Context of IT Security
- XML Threat Prevention
- Web Services Security
- The SOA Security Challenge
- The Security Context Challenge
- Security Context Kludges
- Solving the Security Context Challenge
- The Role of Entitlement Management
- 21st Century Network Security
- Federated Security
- Semantic Level Understanding
- Understanding Application Semantics: Concepts
- Role of Application Semantics
- Semantics: The Greatest Challenge of SOA
- Resolving Semantic Issues
- Case Study: SOA Security in the Real World -- BP
Exercise: SOA Infrastructure Plan
Participants will think through and plan aspects of the SOA Infrastructure. They will use their SOA roadmap as a starting point for the SOA infrastructure plan.Module 5: SOA Governance
- Understanding Governance
- Business Empowerment vs. IT Control
- Corporate Governance
- Governance & Regulatory Compliance
- The Business Motivation for Governance
- How to Tackle Governance?
- Governance Relationships
- The Cornerstone of IT Governance is Architecture
- Elements of IT Governance Strategy
- Architectural Governance Processes
- IT Governance Feedback Loop
- SOA Governance "in the Narrow"
- What is a Policy?
- Policy: Business vs. Technical Examples
- Governance/Security Model
- The Challenge of Policy Automation
- SOA Governance Steps
- Policy Examples
- Steps for Automating Policies
- Supporting Policy Changes
- Creating the Governance Framework
- Governance Pitfall: Versioning
- Handling Service Versioning
- Governance: The Key to Business Empowerment
- Case Study: SOA Project Management & Governance -- T-Mobile
Exercise: Building a Governance Framework
Teams will lay out a plan for governance within each of the teams that will address governance issues.Module 6: SOA Quality & Management
- SOA Testing & Continuous Quality
- How do you manage change?
- The GQM Loop
- Quality & the Service Lifecycle
- SOA Quality Assurance
- Service Lifecycle Governance and Quality
- How do you Test Architecture?
- Creating a Test Plan
- SOA Testing Domains
- Service Testing Principles
- Test for Reuse/Reusability
- Test for Heterogeneity
- Test for Abstraction
- Test for Composition
- Composition Level Testing
- Integration Level Testing
- Security Level Testing
- Governance Level Testing
- The Challenge of SOA Testing
- Testing in Production??
- Quality & Management
- SOA Management: Many Facets
- The Problem with SOA Management
- The First Rule of SOA Management
- The SOA Management Conundrum
- Exception Management & SOA
- Metadata Management & SOA
- Complexities of SOA Metadata Mgmt. Marketplace
- What is a Registry?
- What is a Repository?
- Summary: Metadata Management
Exercise: SOA Implementation Test Plan
In this exercise, teams will use the scenarios from the exercises up to this point to put together a test plan for the project as scoped in the project plan exercise.Day Three
Module 7: Service Composition, Business Process, & SOBAs
- Service-Oriented Business Process
- What is a Business Process?
- The Role of Business Process Reengineering
- The Automation Paradox
- Problems with Traditional BPM Tooling
- Business Process the Old Way
- Business Process the Service-Oriented Way
- Service-Oriented Process
- Process Definitions
- Example: Orchestration vs. Choreography
- WS-* Standards for Orchestration & Choreography
- Limitations of BPEL
- Maintaining Process State
- New Process Configuration & Design
- Discovering Processes
- Shared vs. Private Processes
- Defining New Processes
- Process-Level Understanding
- Using the Process Catalog
- Process-Level Understanding
- Varieties of Business Processes
- Service Composition: Supporting Business Process with Services
- Business Logic at the Composition Level
- Exposing Composite & Data Services
- SOBAs: Rethinking the Application
- SOBA Example
- Enterprise Applications and Process
- Example: SAP NetWeaver
- Transactions and SOA
- Transactions the Loosely-Coupled Way
- What about Workflow?
- BPEL4People Scenarios
- Portals as Gateway to Workflow
- Abstract the User
- Service Consumers & Enterprise Mashups
- The Services Tipping Point
- SOBAs & Service Consumers
- The Rise of the Service Consumer
- The Rise of the Mashup
- What’s New about Mashups?
- Empower Business Users?
- Web 2.0 vs. SOA
- Mashup Example
- Enterprise Mashup in Action
- Process vs. Data?
- Use Case for SOA
- Without Governance, Mashups are Dangerous
- Without SOA, Mashups are Toys
- Case Study: SOA Journey at BP
Exercise: Planning SOBAs
Participants will consider all of the Services in their Service model, as well as the business processes in their scenario. Teams will construct at least three new business processes that in part reuse some of the Services in the Service model..Module 8: SOA Project Management
- Iterative Approaches to SOA
- Iterative: More than Step-by-Step
- SOA Project Approach
- Project Management for an SOA Project
- Iterative Problem Domain
- Iterating SOA Initiatives
- Iterate your Architecture?
- Initial Assessments
- SOA Pilots
- Milestone / KPI Plan
- The ZapThink SOA Roadmap
- Defining SOA Success
- Sequence of Steps (Iterative!)
- Implementation Notes
- Building for ongoing change: Beyond the SDLC
- The Dual Lifecycle
- Building Applications the New Way
- Where’s the code?
- The Agile SOA Lifecycle
- Measuring Agility: The Agility Model
- The Relationship with Program Management
- Measuring SOA Maturity
- SOA Maturity Model: Wipro
- SOA Maturity Model: HP
- Service Integration Maturity Model: IBM
- SOA Maturity Model -- Sonic/Systinet
- SOA Maturity Model: Oracle
- SOA Maturity Model: Software AG
- Word of Warning!
- SOA & Change Management
- Change Management: Multiple Levels
- Dealing with Service Implementation Change
- Service Contract Change
- Policy and Service Metadata Change
- Supporting Policy Changes
- Data Layer Change
- Service Infrastructure Change
- Business Process Change
- Case Study: Retail Bank ROI
Exercise: Creating a SOA Roadmap & Project Plan
Teams will put together a SOA Roadmap based on the ZapThink SOA Roadmap, and then detail a project plan for completing the first phase or iteration of the SOA project from their SOA Roadmap and Service Model. They will take into account the various tasks that go into early iterations of SOA projects, as well as the project staffing they will need to complete this project.Day Four
Module 9: Paying for SOA
- Establishing a SOA Business Case
- Building the Business Case
- Building Support for SOA
- Review: Business Drivers for SOA
- Challenges in Calculating ROI
- Business Driver: Cost Savings
- Reducing Integration Cost
- Business Driver: Reuse
- Benefit: Increasing Efficiency Thru Service Reuse
- SOA Reuse Governance
- Reuse Challenges
- Business Driver: Visibility
- Visibility & Control
- Visibility & Heterogeneity
- Complex Event Processing & SOA
- Business Driver: Business Empowerment
- Business Driver: Business Agility
- When Not to Apply SOA
- Challenge Area #2: Funding & Budgeting
- Traditional IT Funding: Project Based
- Initial SOA Funding
- Funding SOA Rollouts
- Budgeting SOA Projects
- Calculating your SOA Project Budget
- Example: SOA Project Budget
- Completing the Project Budget
- Some Things to Remember
- Good Money after Bad
Exercise: Up-Front ROI Analysis
In this exercise, teams will assemble an ROI analysis of a proposed SOA project.Module 10: Addressing SOA Organizational Challenges
- SOA Best Practices
- Challenge: Inertia in the Organization
- Challenge: Balancing IT Control & Business Empowerment
- Challenge: Reuse = Sharing
- SOA by Any Name
- SOA = Best Practices
- Is there an Architect in the House?
- Another Look: SOA Challenges
- Interaction Challenges
- More Interaction Challenges
- The "Ivory Tower" Problem
- The Power of the SOA Center of Excellence
- Convincing Technical Specialists
- Working with IT Middle Management
- Enabling Service Domains
- Service Domain Roles
- Building the right SOA team
- SOA Project Staffing
- Project Leader
- Data Specialists
- Security Specialists
- Native Systems Specialists
- Service Development Specialists
- BPM/Composition Specialists
- Governance Specialists
- Testing & Deployment Specialists
- Project Archivists
- External Services Specialists
- How Many of Each?
- EA Challenges: The Role of the EA
- Enterprise Architecture Challenges
- EA Challenges: The Risk of SOA
- The Real Challenge: People, Change and Fear
- Case Study: SOA Organizational Change & Funding @ Novartis
Exercise: Development of a SOA Business Case
Participants will craft a sound, well-reasoned, and well-supported business case for a SOA solution to a business problem. They will discuss a specific business problem scenario that is specific and relevant to any of the team members.Final exam: SOA Jeopardy!
Test your SOA skills with this lively version of the popular television quiz show!Friday, July 25, 2008
Saturday, July 19, 2008
Open Source Flash Projects Open Source Flash
[Open Source Flash Projects]
I might also mention that OpenOffice 2.x Impress can generate flash too, though not as flashy (sic) as Macromedia stuff.
Here is a way to generate it using AJAX and Javascript. [AjaxAnimator]
the downside? Firefox goes mad at 80% (so obviously this is seriously shitty code)
Finally, java heads would like JGenerator (official homepage: http://www.jzox.com/,
source page: http://sourceforge.net/projects/jgen/
Friday, July 18, 2008
Optimisation tips and tricks for speeding up J2ME apps
http://j2medevcorner.wordpress.com/2007/03/13/optimizing-for-speed-in-j2me-extreme-tips-for-lightning-fast-midlets/
Friday, July 11, 2008
mynokiamobile.blogspot.com: Sign Unsigned BiNPDA Files
mynokiamobile.blogspot.com: Sign Unsigned BiNPDA Files
Nokia eRcp on E90 communicator
The problem is that the consumer version of this phone only runs S60 3rd Ed FP1.
FP2 comes with the latest JVM & eRCP.
However, if you install Lotus Expeditor 6.1.2, they give instructions on how to obtain the patch from nokia:
http://publib.boulder.ibm.com/infocenter/ledoc/v6r11/topic/com.ibm.help.ic.doc/Client_Rel_Notes.html#Release_Notes__resources
(navigate to "Resources available on the Web" & "Nokia E90 issues")
You email Nokia.eRcp@nokia.com for an account and password & then logon to
https://www.extranet.forum.nokia.com
More stuff on eRCP on e90: http://www.eclipsecon.org/summiteurope2007/presentations/ESE2007_eRCP.pdf
Thursday, July 10, 2008
Use VirtualPC differencing disks to your advantage
Hey found this link as an interesting idea to have multiple virtual images to test/run software.
What a big difference this makes. VMware player/server doesn't allow you do to this, (though you could save a common shared virtdisk, but it isn't quite the same as Diff VHDs!)
Another interesting point from the VirtualPC is to use windows NT as the lightest weight OS for VPC! http://blogs.msdn.com/virtual_pc_guy/archive/2004/11/05/252746.aspx
