Recent Posts

RSS Feeds

First Day Impressions


Well at the end of the first day I must say that I really enjoyed the show far. There are lots of really cool people, its small enough that you can get to know them and the presentations so far have been really good.
BTW I'm blogging real time (almost) so the notes have not been reworded, spell checked etc. So if you find problems etc. please feel free to comment.
Best presentation today was the key note I think, I did get to see the last half of Kimberley Babrow Jennery but did not take notes. My brain was full.
My talk went well but I forgot my DVI to VGA converter so I had a bit of pannic until I found one of the other participants with a mac (there are lots BTW) and borrowed his. All was good again. I had some really good questions and the discussion was lively so it was fun.
After hours Q&A session was really cool! Met up some people that are doing lego-mindstorms and java that was really cool. Kimberley is going to setup a BOF. I can't wait to geek out with others on this topic.
A great day!

Permalink     No Comments

Taming The Tiger


Just finished with the new stuff in J2SE talk by Mark Reinhold. It was interesting after he rebooted his Linux laptop for the 2nd time :-) I did not get to finish my notes because I'm getting ready for my talk at 2:45...

here are my notes

Tiger is big & fierce – cool graphics of tiger

 

Themes:

1)    Quality

2)    Ease of development

3)    Performance

4)    Integration

One huge JSR (umbrella)

Quality – Compatibility with older versions, must be backwards compatible

Doing lots of tests to make sure that the compatibility is there. Features are important but compatibility is key.

Reliability, Avalibility, Performance are also important

 

Best Practices – for quality

1)    Regression Tests

2)    Unit Tests – Tiger is the first time they have taken unit-testing thing seriously. The people are now required to check-in unit tests with new features.

3)    Code Reviews – Code reviews attach reviewers name to the code and the reviewer is called if something is broken.

4)    Pre-Integration testing

 

Grow the dev-base: Ease of Development – the following stuff is supposed to be addressing these issues.

1)    Annotations

2)    Generic Types

3)    Enhanced for loops

4)    Enumerated types

5)    Auto-boxing

6)    Formatting & Scanning

7)    Concurrency Utilities

J2EE 1.5 will have many of these things esp. annotations/meta-data.

 

Annotations

Example of the AbstractButtonBeanInfo. The swing team built a doclet (like xdoclet) that generates the BeanInfo classes. Rienhold says (this is a hack, java doc was never meant to used for this).

Instead what we’d like is to have an Annotation that winds up in the .class file. The idea is to have the info in the annotation in the class file so that a ‘post-processor’

Annotations and be in class, vm at runtime, or only in the source. So your tools could use this info in reflection api’s. Very cool idea, probably old info but I love the idea of having this info avalible at runtime. We could do away with deployment descriptors all together J

 

Generic Types

Can build types that you don’t have to cast. Its OK but a bit c++ ish. Looks almost just like C++ generic types. Vile, but that is just my opinion. An example of moving an existing class to generic types. Next he covered some of the util classes that have changed given the new stuff.  The generics stuff took the approach that no JVM changes will be made.  All the changes are about compile time checking.

 

Enhanced for loops

Simple building of for loops. Seems good for VB people.

 

Enumerated Types

Encodes the type safe enum pattern into the compile using the ‘enum’ key word. Makes it easy to put enum’s into switch statements. The only new keyword. Its basically a sub class of class but is distinguished at runtime.

 

Autoboxing

Inter x = 3;

int y = x;

map.put(1, 42)

 

basically this is auto conversion from Integer to int.

 

Formatting & Scanning

Lets you put %i type stuff into your string processing.  You get to get rid of MessageFormat stuff (and other formatter classes)

Instead you use the Scanner class to get input and look fo rnextDouble type stuff, then you can use %.2f%n to print 0.06 instead of 0.0599999996. Scanner is meant to be the thing that awk programmers would understand.

Permalink     No Comments

Web Services


Finished one of the many web services talks here. The talk was really good but I should have went to a different one. This talk was focused on the stack of standards that make up "web services" and not on how to build, make secure, make reliable etc web services.
here are my notes

Service Oriented Architecture is the starting point and Web Services is sort of a ‘best practices’ wrapping around that.

 

Definition of web service - “…a broad based agreement for exposing programmatic behavior over a network and a set of core technologies that enable that capacity” – Noel Bergman

 

WS-I leads the effort around putting the ‘must’ into place for the standards. The other standards have too many ‘should’ and ‘could’ WS-I and puts the stuff in place to make sure the interop works.

 

Hot areas in WS

1)    Interoperability

2)    User Experience

3)    Management

4)    Choreography and Transactions

5)    Reliable

6)    Security

 

Portals are the UI web-services is the back end parts.

WS-Remote Protocol – look more into this

 

WS Foundations

1)    XML Parser

2)    JAXP

3)    JDOM

4)    JSR 109 – the programming model around web services

5)    ebXML

Long list of other standards that relate to the WS space.

SOAP with attachments.

JAX-RPC – newest version allows JAXB to be plugged into the data-binding space.

 

Many of the specs are geared toward the vendors so that we as developers can count on the implementation being conformant.

 

Lots of security stuff is going into the SOAP headers.

 

First half of the talk is the long, long list of specs that make up ‘Web Services’. To much info.

 

BPEL is in the work flow space. – need to study this more, looks very interesting

 

Web Services For Remote Portlets WSRP 1.0 is Approved through OASIS.

 

It is bad to use XML as the communication tech between micro-layers. How many times have we seen app servers fall on their butt because of this?

WS-I process defines use cases, builds usage scenarios, sample applications and runs the through the profiles, then adds tests. The output then helps them make the inter-op piece work better.

 

WS-I value add – turn all the ‘may’ or ‘should’ to ‘must’ or ‘must not’, providing guidance or best practice on standards implementation, provide concrete examples and testing stuff.

 

Profile is the list of standards and versions and then the list of ‘must’ and ‘must not’. The profile will restrict things and choose a single mechanism among many etc. So the profile provides a way for applications to be written so that they can run on different implementations.

 

Basic Profile is the ‘holding space’ as other profiles mature they will be moved into the Basic Profile. In the mean time they are called ‘extension profiles’. There will be consideration for both, maturity of the extension profile and the widely adopted nature of the extension profile.

 

WS-I Basic Profile 1.1 is beginning to make headway because SOAP w/ attachments is starting to settle down.

Permalink     No Comments

Software Summit Keynote


The address was relaly good. Soyring focused on the skills that he sees as high demand (he runs IBM services, so he knows something about it.) I really enjoyed it.
here are my notes taken during the talk.

Soring

 

Global economy has been toast for the last two years, the profit margins are starting to grow and even some of the revenue side is increasing.

 

Consumer confidence has been up and down but has flatlined.

 

Airlines are starting to be profitable.

 

Smaller average purchase size, larger number of purchases, longer purchase cycles, major price pressure, outsourcing is also having an impact. Outsourcing is putting downward pricing on salaries.

 

Expert deep technical skills is what sells programmers. Vietnam people are willing to work for 2K per year.

 

High Demand:

1)    System or Solution Architects –

a.     The system arch is responsible for managing the structure of 9000 servers and getting patches

b.     The solution arch is responsible for turning the Biz Annalist stuff into a solution

2)    Business Process Integration

a.     Someone who knows how well biz works and make it better

3)    Portal Design and Legacy Integration

a.     Biz to emp portal for HR functions

b.     The big thing is to integrate the Portal to the legacy systems

c.     Now its biz to biz portals, purchasing portal for IBM that allows vendors to respond to requests for stuff

d.     The next big wave is biz to consumer

4)    Performance Analysis & Tuning

a.     People who know about how to make things run faster

5)    Security and Privacy

a.     This is a huge market now because of the ‘privacy policies’ that companies are publishing

6)    Orchestration and Provisioning

a.     Companies need to be able to quickly update servers and clients with new stuff. Provisioning is difficult to do in big environments. Orchestration is greatly needed to be able to make the transition.

7)    Linux Servers

a.     People who know Linux are in high demand. IBM supports linux on everything they make.

b.     Linux is starting to move to the desktop. IBM is having customers pulling them to support Linux on the desktop.

8)    Virtualization (grids, SANs, etc.)

a.     Uses idle CPU cycles to make software run faster

b.     USOpen grid built by IBM, 90% owned by IBM 10% by USOpen

c.     IBM switched their 90% and made it work on protein folding, the switching of the Grid was highlighted and how cool it was to be able to switch them. Grid computing can become a utility.

d.     Managing Storage Area Networks are very expensive to drive and manager.

IBM – Portals are huge! IBM can’t keep up with the demand.

P3P – privacy guess 3 on a 5 scale

Web Services – emerging tech but is huge more than 5 on 5 scale

XML – 5 out of 5

J2EE and J2SE – are both big but the basic skills are becoming a commodity and there is major downward pressure on salary – keeping people that know how to design and arch.

Patterns – three out of 5 on a 5 scale

 

Design Pattern Toolkit http://www.alphaworks.ibm.com/tech/dptk eclipse plugin

12 million downloads of eclipse

http://www7b.software.ibm.com/wsdd/downloads/j2eecv_install.html

Identifies AntiPatterns in your code and helps you to correct them.

 

Performace Analysis for Java Web Sites

EBay 3Gbits per second 400million page views a day.

They introduce several changes on a regular basis

 

Web Services Takes Off – 2003

UDDI – Find

WSDL – Publish

SOAP – Bind

Missing Bits – security, reliable messaging and tranactions

 

Web Services and .Net integration – http://www.ws-i.org

 

Platform for Privacy Preferences

 

Linux on the desktop – productivity apps, word, powerpoint, etc. Most view and print documents and don’t usually do anything complex like editing J. Most people don’t really use the features so why not just make prod apps that are greatly simplified. The other open source stuff (Apache, Tomcat etc.) continues to drive prices down.

 

e-business on demand – based on 4 things

1)    Standards, open source stuff etc. – standard integration is 500K

2)    Business process integration and functionality – applications don’t work together very well. IBM estimates that they will be able to remove 5Billion out of the purchasing process by integration. Grid computing where computing becomes a utility make the systems flexible and adaptable.

3)    Autonomic Computing - Complexity in management – make a system that can adapt quickly. You body can adapt locally without having to contact the major CPU. Systems that can be self-detecting and ‘clean up’ or ‘isolate’ the problem.

4)    Virtualization – grid

 

http://www.alphaworks.ibm.com/tech/bpws4j

http://www-106.ibm.com/developerworks/webservices/library/ws-bpel

 

Tools that can generate bpel – then other tools take bpel and turn it into high level design artifacts for J2EE etc.

 

SWIFT – trillions of dollars per day is transferred through there each day

 

Agile Software Development – works great for many application and you should check it out. Some apps (pace makers, etc) should be focused on tools and docs but many many others can be done with agile methods.

 

Aspect Oriented Software Development http://aosd.net

 

Recipe for success

1)    Best Practices

2)    Great Tools (aspectj, eclipse etc.)

3)    Deep Skills (in relevant subjects, seek certifications)

 

 

Permalink     No Comments

Software Summit Blogging


I've created a new category for my blog entries from the show. I'll try to update at least twice a day. There is wireless access so I'm hopeful that I'll be able to blog real time from the talks.

Permalink     No Comments

Geek Week


Just got back from the welcome reception at Colorado Software Summit. It was fantastic!
Meet Greg from NY. Had a great conversation on XP vs Agile, vs other processes. It was very good. Can't wait to talk with him more over the week. Should be lots of other geeks that will be fun to get to know.
Fun Stuff!

Permalink     No Comments