"What if? Why not? Challenge the Convention! Let's do some incredible things!"  More Quotes

Welcome to Aspire Knowledge Central (AKC)

   Home   Public Library   Author Content

Choose a data format:   classic-xml   object-xml   embedded-xml   text   excel

OSCON-2004

0) OSCON 2005 Notes (15-Jun-17)

Personal notes in preparation for the upcoming presentation on JAXB at OSCON 2005, Portland

1) Welcome to my summary page of OSCON 2004 (10-Jul-06)

Portland is quite pretty, and July seem to be pretty reasonable for someone visiting from Florida. I have a session this year covering some server side java patterns that I have practiced, or ran into or those that just happened. This is quite a large effort for a 45 minute session. I am scheduled to cover around 15 patterns in that space (I might successfully read their names in that time period). Not to be discouraged, I will be writing about each pattern a series of articles that are going to be published between now and the begining of my session. In case an unsuspecting individuals manage to stray this side they should be treated with a full blast java code.

2) Master page pattern: Code Examples (10-Jul-06)

Structure of a master page
Structure of html
URL specification
Master page specification
Master source code
References

3) OSCON 2005 in brief (10-Aug-05)

People, languages, technologies, a short note

4) Identity lecture (1-Aug-05)

Enterprise identity

5) Writers guidelines from Addison Wesley (9-Aug-04)

http://www.awprofessional.com/about/write_for_us.asp#prospectus

6) 3 speakers, 3 styles, an enormously effective evening at OSCON 2004 (28-Jul-04)

I am quite humbled by these speakers and their ability to zero in on what is relevent and what they are trying to communicate. Although I know no perl, no python, and no klingon, I see how this is quite relevent to java. It just shows how java can rediscover its spirit and allow what I call "literate programming". My wish is that java will be in such a position that one can develop a substantial application in a single day. One should consciously aim for simplicity even in the face of complexity.

7) A 6 year old and www.combarbie (28-Jul-04)

Being in portland this week I have the pleasure of talking to my daughter on the phone. This morning she was asking me to do a favor when I get back. I said sure and asked her what it is. She stumbled a few times and finally got around to saying www. Then she proceeded from the pause to say whether I could help her go to www.combarby.

"Dad, but, do you where www.combarby is? It is on the computer. So can you help me go there?"

And there was an enormous doubt in her mind whether Daddy is capable of this after how bungling I was with her newly acquired gameboy. She was wondering if I could take help from Ashley in case if I am not up to the task.

8) An old man, a blue line and AspectJ (27-Jul-04)

Seeking space

In 1992 I was at OOPSLA in Atlanta and Alan Kay in his key note pointed to the importance of MOP: Meta object protocl in languages. He reasoned with such a facility programming can metamorphosize itself in to newer versions as it is true with evolutionary biology. Subsequently there was a session on Aspect Oriented Programming by a team from Xerox.

Over the years

I have watched this space over these years. I was more interested in MOP than AOP itself. I have felt that having the programming elements exposed as a datamodel for run time manipulation will open the doors for creativity and out-of-the box solutions.

AspectJ

It has been a while I have looked at the various JSRs and what is happening in the newer releases of java such as Tiger or 1.5 whichever it is called. I seem to be pretty happy with java 1.3. I sat in a tutorial session this morning on AspectJ. Looks like AOP is back in the running with multiple books and particularly with support in Eclipse. AOP is especially useful in container and framework designs. The question is how intrusive it is to the fundamental java programming environment.

Other enviornments

There seem to be more than one implementation of these ideas. It is worth looking into see what each one offers.

The oldman and the rook that never moved

There is a fable I have heard once. A Russian grandmaster was on a vacation to the Indian sub-continent and visiting a village. He has heard of an old man in the village who plays chess and purportedly very good at it. For amusement the grandmaster plays a game and looses the game. And he asks the old man how come he never moved any of his rooks in the entire game. The old man answered that he never knew the rules of how a rook moves.

AOP is quite significant and there is no denying it. As Alan Kay rightly puts it once in a while in a monochromatic world there arrives a blue line. At the same time as the above story illustrates we rarely tend to master and optimize what we already know. We need both: the old man and the blue line.

9) A little american adventure (26-Jul-04)

I have got up at 5 yesterday, (sunday morning), to catch the 7:25 flight, having overslept an hour. My gracious wife zipped me to the airport only to realise the american airlines an hour late. No big deal, 8:25, and I still have an hour to wait the connecting flight in Dallas.

My luck starts to kick in and the flight leaves at 9:30 with an advanced guarantee that I will miss the Dallas flight. The next flight is at 4:30 Dallas time. After 5 hours hours of the Dallas airport and the very efficient american front desk I manage to get into the flight at 4:30. Luck continues to favor and the flight was grounded in favor another plane, another gate at 6pm.

Needless to say with luck on overdrive, I couldn't find my luggage.

Well as it happened the luggage routers managed to find a flight that the very efficient front desk managed to miss and got to portland by noon.

With verve and poise, despite all that I managed to get into my Mariott room at midnight eastern time.

I believe I will give american a few more years before I try again

10) Session time and location (24-Jul-04)

Your session dates and times follow for the O'Reilly
Open Source Convention in Portland, Oregon,
July 26-30, 2004:

- Conference Session
  Session ID: 4995
  Title: Server Side Java Patterns for Developing Thin Clients
  Date: 07/28/2004
  Time: 1:45pm to 2:30pm
  Location: Salon C

11) Example of using AKC as a traditional web site (22-Jul-04)

http://216.187.231.34/akc/servlet/DisplayServlet?url=DisplayNoteWebViewMPURL&reportId=975&ownerUserId=auto_mechanic

Uses web views
Removes blogging headers
Removes change headers
Allows shear content inside a master page

12) Optimistic Paging Pattern: Code Examples (22-Jul-04)

URL example of paging
Data definition
SQL
SQL with rowids
Cursors and decorators
Javscript: Figuring out next page
References

13) Clientside Redirector Pattern: Code Examples (22-Jul-04)

Updates and queries separated
Updates redirect to queries
Abstract redirection
Using response.sendredirect
Clientside Redirector:Javascript
Serverside Redirector

14) Authentication Pattern: Code Examples (21-Jul-04)

API
Sample Implementations

15) Strategized Sessions Pattern: Code Examples (20-Jul-04)

API
Implementation configuration
Abstract Http Events
Responding to events
References

16) Abstract Page Data Pattern: Code Examples (20-Jul-04)

General structure of an html page
Abstract data model
Data specification
Horizontal JSP painting
Typed JSP painting
XSLT painting
References

17) Declarative event based caching: Code Examples (20-Jul-04)

API
Using cache
Invalidating cache
Sample implementation
References

18) Generic Transformations Pattern: Code Examples (20-Jul-04)

URL definition
Asking for generic transformation
Generic transformation api
Excel example generic transform
Ideas on language binding transforms
References

19) Pluggable transformations: Code Examples (19-Jul-04)

Declarative URLs
Transformation definition
Data definition
JSP transform example
XSLT transform example
References

20) Tier-less computing pattern: Code Examples (17-Jul-04)

Business logic
Solved using horizontal parts
Solved using vertical typed parts
Both solutions enabled for remoting
Tier-less computing demonstrated
Referenes

21) Typed interface Pattern: Code Examples (16-Jul-04)

Start with a declarative api
Why declarative
Why not declarative
Adding discoverability with wrapper modules
Auto generate modules
Benefits of typed interfaces
References

22) Transactional Pipelines Pattern: Code Exampes (16-Jul-04)

A pipeline of parts
Transaction aware work flow part
Connection ownership
Alternate strategies

23) Declarative Part Pipelines: Code Examples (16-Jul-04)

Sample list of parts
Work flow parts
IOC further explored for parts
Beginings of interoperable parts between frameworks

24) Declarative Software Part: Code examples (16-Jul-04)

A pipelined web transaction
A database query part
A text substitution part
A database update part
Substitution part example
Substitution part example using IOC

25) Declarative Relational Datasets: Example code (16-Jul-04)

Declaring relational data sets
Typed relational data sets
Data from sql
Data from stored procedures
Data from files
Container managed Transactions
Pipelines
Writing your own adapter

26) Unified Object Server Factory Pattern: Code Examples (14-Jul-04)

Simple object instantiation
Simple object instantiation: using IMultiInstance
Simple object instantiation with parameters
Simple object instantiation with parameters and IOC
Untyped creator pattern
Untyped creator pattern with configuration parameters
Abstract typed factory
Abstract typed factory 1
Abstract typed delegate

27) Transparent Data Pipelines Pattern: Code Examples (14-Jul-04)

What is TDP
TDP Specification
TDP Data model
TDP Usage
TDP Reusable parts
References

28) Typed Hierarchical Data Sets: Code Examples (14-Jul-04)

A hierarchical data set data model
Equivalent class definition
Data specification
Language bindings
Language class generation

29) Unified Abstract Configuration Pattern Examples (13-Jul-04)

Contains example code for working with configuration
XML configuration files
Property file configuration files
Reading mandatory keys
Providing default values
Reading objects from configuration files
Configuration as a data source for objects
XML Child, attribute equivalence
Multiple configuration files treated as a single configuration source

30) Hierarchical Datasets: Code examples (13-Jul-04)

Structure
Code usage
Data Definition
APIs
References

31) URL to my session at OSCON 2004 (9-Jul-04)

http://conferences.oreillynet.com/cs/os2004/view/e_sess/4995

32) General introduction to server side java patterns (7-Jul-04)

Most of today's web is driven by server side programming. PHP, ColdFusion, J2EE, Asp.Net, are all frameworks that allow server side programming. To say that server side programming is multi-disciplinary is an understatement. It is more like skating on a field of spikes. The spikes are many. There are tiers to cross, there are protocols to follow, there are multiple programming languages to learn, there are sessions to deal with, there are transactions to manage, security to worry about, scalability to plan for. The goal of the server side programming practice is to deliver a smooth platform on top of these spikes so a developer may perform a programming ballet with freedom.

Server side programming practice is increasingly converging on a set of similar patterns for solving these problems. Although there are distinctions in the provided solutions, it is possible to slice the techniques into recognizable, identifiable patterns. Understanding these patterns will benefit a developer in the following ways:

  • Ease the transition between ever changing and numerous server side frameworks
  • Enhance an existing framework with the additional patterns for a much smoother ride
  • Understand the problem space of server side programming better

Most of the presented patterns here came from developing a server side declarative framework and a tool. I believe these patterns have a value of their own irrespective of the tool in which they are nurtured.

I have divided the patterns in to the following 5 catgories

  • Applicaton Patterns
  • Data Access Patterns
  • Business Logic Patterns
  • Presentation Patterns
  • http/html patterns

33) Some notes on inversion of control pattern: notes by Martin Fowler (29-Jun-04)

http://www.martinfowler.com/articles/injection.html#ConstructorInjectionWithPicocontainer

34) OSCON 2004 home page (8-Jun-04)

http://conferences.oreillynet.com/os2004

35) OSCON 2004 Speaker registration (8-Jun-04)

http://conferences.oreillynet.com/pub/w/29/speaker_reg.html

Speaker details