An interesting post about how standardisation can destroy open source software
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!
Tuesday, October 21, 2008
Sunday, October 19, 2008
Aarne-Thompson classification system - Wikipedia, the free encyclopedia
Good grief. As kids we used to joke about how movies all seemed to follow basic plotlines.
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.
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
Well it seems Java is still #1 for programming languages according to the TIOBE Software: Tiobe Index October 08 edition
The rest are:
What's happened to ABAP (SAP)??
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?
I was an IBM support specialist for VisualAge for Smalltalk in the 90's. Seeing these blogs brought tears of bitter memories to me since I'm now a Java head .... To quote: http://blogs.gartner.com/mark_driver/2008/10/09/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)
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
Maxence Button's blog on WebLogic & Java EE: August 2008
in particular, using workshop 10 for EJB 3.0 development
in particular, using workshop 10 for EJB 3.0 development
Monday, October 06, 2008
InfoQ: How to GET a Cup of Coffee
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
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
I wanted to use Jetty in embedded mode to run a simple AXIS server (for web services support for students).
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: "
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
We recently installed Aptana studio (community edition) 3.2 on our lab workstations.
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/
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
Want to use EJB 3 in Oracle workshop 10.3?
Workshop for WebLogic 10.3 JEE 5 Trial and Error (James Bayer's Blog)
Workshop for WebLogic 10.3 JEE 5 Trial and Error (James Bayer's Blog)
Installing CVS plugins into Oracle Workshop for Weblogic 10.3
it seems that oracle workshop for weblogic 10.3 is missing CVS.
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
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
WebLogic Embedded LDAP
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:
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
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
Wow, what an interesting day.
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.
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
Today is not a good day for me.
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.
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
'Hello World' example of an Applet using Java RMI
Also Sun Blueprints (they recommend using a servlet as intermediary)
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)
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)
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
Senior Licensed ZapThink Architect
Licensed ZapThink Architect Fellow (Trainer)
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.
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
I'm trying to develop flash animations for lectures/tutorial notes and didn't want to use macromedia to generate it. Seems like there are quite a few tools that generate flash animations.
[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/
[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
Optimisation tips and tricks for speeding up apps
http://j2medevcorner.wordpress.com/2007/03/13/optimizing-for-speed-in-j2me-extreme-tips-for-lightning-fast-midlets/
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
run unsigned symbian sis files on s60 nokia phones
mynokiamobile.blogspot.com: Sign Unsigned BiNPDA Files
mynokiamobile.blogspot.com: Sign Unsigned BiNPDA Files
Nokia eRcp on E90 communicator
how to get Nokia eRcp on the 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
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
HOWTO: Use Virtual PC's 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
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
Wednesday, June 25, 2008
SpringSource Team Blog » Spring Overtakes EJB as a Skills Requirement
I think Spring is becoming important :-)
SpringSource Team Blog » Spring Overtakes EJB as a Skills Requirement
Seriously, I did a similar lookat using www.jobserve.com.au and found a similar trend.
Spring + Hibernate and Java is important.
SpringSource Team Blog » Spring Overtakes EJB as a Skills Requirement
Seriously, I did a similar lookat using www.jobserve.com.au and found a similar trend.
Spring + Hibernate and Java is important.
Why are we not using Java EE 5?
I've been given the responsibility here at the University of Technology, Sydney take over the J2EE subjects 31242/32549 Advanced Internet Programming and the short course, AJPCPE "Advanced Java Programming"
One of the interesting debates I've been having with colleagues, industry and other trainers is what version of Java EE to teach.
Currently we are using a mix of Java application servers:
Tomcat 5.5 + Mysql 5
Axis
Weblogic 8.1 + Oracle 10
Weblogic 10.1 + Oracle 10
Now what makes the mix even more interesting is a comment from the BEA techday recently in sydney - basically the #1 weblogic server by big corporates (eg: commbank, qantas, westpac, etc) is Weblogic 8.1.
AArrgghh J2EE 1.3. Yuk.
The main strategy for these large companies is to skip odd version numbers ie: not weblogic 9.2 but migrate to weblogic 10. However, weblogic 10 is buggy and slow and the admin interface is unpopular. (and slow, oh sorry did I say that??)
Here's a Javalobby commentator's view of why are aren't going to Java EE 5... ( Why are we not using Java EE 5?).
I agree. Java EE 5 is simpler to develop with but no one wants to use it! Sun claims a huge success with Glassfish (or so their testimonials say) but are they in full scale product?
Sorry my friends, I think I'll stick to Java 1.4 for the moment, and give the option for Java EE 5 as an extension to the subjects. Or maybe teach both. Sigh.
One of the interesting debates I've been having with colleagues, industry and other trainers is what version of Java EE to teach.
Currently we are using a mix of Java application servers:
Tomcat 5.5 + Mysql 5
Axis
Weblogic 8.1 + Oracle 10
Weblogic 10.1 + Oracle 10
Now what makes the mix even more interesting is a comment from the BEA techday recently in sydney - basically the #1 weblogic server by big corporates (eg: commbank, qantas, westpac, etc) is Weblogic 8.1.
AArrgghh J2EE 1.3. Yuk.
The main strategy for these large companies is to skip odd version numbers ie: not weblogic 9.2 but migrate to weblogic 10. However, weblogic 10 is buggy and slow and the admin interface is unpopular. (and slow, oh sorry did I say that??)
Here's a Javalobby commentator's view of why are aren't going to Java EE 5... ( Why are we not using Java EE 5?).
I agree. Java EE 5 is simpler to develop with but no one wants to use it! Sun claims a huge success with Glassfish (or so their testimonials say) but are they in full scale product?
Sorry my friends, I think I'll stick to Java 1.4 for the moment, and give the option for Java EE 5 as an extension to the subjects. Or maybe teach both. Sigh.
Sunday, April 06, 2008
Java EE without Ajax
Saw this by accident: Apusic is a chinese middleware company that has licensed and passed the J2EE 1.5 tests.
JavaEE without Ajax
The basic argument is that via a JSF render engine, you can AJAXify your JSF based JSP with minimal effort. The big issue with Ajax now is that you call javascript, hence a maintenance nightmare.(especially after my experience with SBW!!)
to quote:
Java, Yes; Java Script, No!
“We Love Java, Not Java Script.” Alternatively, such meaning can be put in the typical sentence pattern of the former Chinese leader Chairman Mao, “Java, yes; Java Script, no!” I believe that many readers may not agree with the title of this section. Yet it is a common voice of a large number of J2EE developers.
Quite many Java engineers have a strong favor in, or even obsession of, Java. They love the simplicity and elegance of Java. Once they are given an assignment that requires Java Script, they will feel puzzled. Overly flexible grammar, no way of checking the grammar through compiler, lack of good debugging tools… all hampers the use of Java Script by the developers, not to mention development with Ajax.
In short, the Java community needs Ajax to improve the man-machine experience of the Web applications based on javaEE. However, people do not like the current Ajax development mode. Needless to say, we want some new solution.
Who Will Rescue JavaEE Ajax ?
What is it then? My answer is JSF . Now, a popular belief about JSF is, in a somehow comic way, “Tragic life – Sun places JSF into the world of Java Web, naked.” My belief, however, is that as a revolutionary server component technology, JSF is like the sun at eight or nine o ' clock in the morning, hopeful and possible for anything.
JavaEE without Ajax
The basic argument is that via a JSF render engine, you can AJAXify your JSF based JSP with minimal effort. The big issue with Ajax now is that you call javascript, hence a maintenance nightmare.(especially after my experience with SBW!!)
to quote:
Java, Yes; Java Script, No!
“We Love Java, Not Java Script.” Alternatively, such meaning can be put in the typical sentence pattern of the former Chinese leader Chairman Mao, “Java, yes; Java Script, no!” I believe that many readers may not agree with the title of this section. Yet it is a common voice of a large number of J2EE developers.
Quite many Java engineers have a strong favor in, or even obsession of, Java. They love the simplicity and elegance of Java. Once they are given an assignment that requires Java Script, they will feel puzzled. Overly flexible grammar, no way of checking the grammar through compiler, lack of good debugging tools… all hampers the use of Java Script by the developers, not to mention development with Ajax.
In short, the Java community needs Ajax to improve the man-machine experience of the Web applications based on javaEE. However, people do not like the current Ajax development mode. Needless to say, we want some new solution.
Who Will Rescue JavaEE Ajax ?
What is it then? My answer is JSF . Now, a popular belief about JSF is, in a somehow comic way, “Tragic life – Sun places JSF into the world of Java Web, naked.” My belief, however, is that as a revolutionary server component technology, JSF is like the sun at eight or nine o ' clock in the morning, hopeful and possible for anything.
Friday, April 04, 2008
Weblogic, Eclipse WTP, and RAVING MAD!!
Listening to the soundtrack of Battlestar Galactica. Bear McCreary. wow, what an imaginative and invocative soundtrack. I haven't seen most of the episodes but the music alone is enough to make me want to see the episodes in question. Got distracted looking at the composers website (bearMcCreary.com) where he describes the themes. Love it!
Am going insane preparing for the Adv Java Prog short course this saturday. Have been working around the clock and not seeing much of my wife and kids. not to mention subject material prep for web services development and going to meetings for the impending merger of facIT and facEng.
Monday was a meeting with our peers in engineering ICT land. Spent most of the time wrangling over title of the new "school". met Bob Rodowski and David Davis. I agree this david on his suggestion (School of ICT)
One reason I'm so mad is I had time to do and rethink the AJP course to something nicer like J2EE 1.5 or whatever.
Anyway, it took me 2 F*CKING months to get weblogic 10 working. Turns out there are a million bugs in it (and I though 9.2 was shit). What ever happened to the quality and speed of 8.1?
I investigated (ie: wasted time) looking at WASCE and Geronimo and so on (I didnt go for JBoss for some unknown reason). WAS 6 could've been a go-er except that it's not that friendly for young-uns at uni.
I wanted to use eclipse WTP 2 to do the development stuff - hey, the embedded JSP container (Jetty, aka J2EE Preview) is cool. But hey, Eclipse WTP 2 under Europa breaks all the time with permgen errors and a million little nigglys. Bleeding edge, more like haemorrage edge. Also because bloody IT support at faculty of IT UTS insist on the latest and greatest software so by default (ed: Fedora 8's fault) it runs fricken "icedtea" Java 1.7. This of course is ALPHA code and breaks not only eclipse but everything else under the sun (or should that be solaris .. chuckle!)
So I kept trying for 2 F*CKING weeks to get it working. Finally, 3 days ago (and a massive panic attack) I gave up and ran Workshop for Weblogic (comes with the server in $BEA_HOME/workshop_10.0 ) which was quite decent actually.
What am I saying??? IT ROCKS. The downside? It CRAPS the other server runtimes. Why did they remove J2EE preview and block you loading any plugins for other server runtimes? Oh well, that's why it's free. I wasted quite a few hours trying to hack it, but hey, ran out of time (suspect they have overridden a few Eclipse WTP classes deep inside in its bowels)
And BEA Workshop (or Workspace whatever) for JSP is wonderful. Has a JSP and Struts and JSF WYSIWYG editor. Amazing that I can run it for free (or at least 1 year). They combined everything together at last in the latest (march 08) versions of Weblogic 10 ?MP1?.
Now one more rant before I finish typing up the labs. I wish there was a way to manage slides. Powerpoint slides that is. I'd like some form of content management system that works for presentations so I can reuse, extend, do OO stuff. Slide Executive (looked interesting but it's a bit of a wank really. Just scans your directories for PPT slides, grabs the text and converts the slide into a GIF (!) then lets you generate virtual presentations via drag drop. You can search (using the extracted text) but there is nothing like version control or whatever. It ain't content management!
Oh goody. Maybe that will be my next project.
Code and content manage rulez!
Am going insane preparing for the Adv Java Prog short course this saturday. Have been working around the clock and not seeing much of my wife and kids. not to mention subject material prep for web services development and going to meetings for the impending merger of facIT and facEng.
Monday was a meeting with our peers in engineering ICT land. Spent most of the time wrangling over title of the new "school". met Bob Rodowski and David Davis. I agree this david on his suggestion (School of ICT)
One reason I'm so mad is I had time to do and rethink the AJP course to something nicer like J2EE 1.5 or whatever.
Anyway, it took me 2 F*CKING months to get weblogic 10 working. Turns out there are a million bugs in it (and I though 9.2 was shit). What ever happened to the quality and speed of 8.1?
I investigated (ie: wasted time) looking at WASCE and Geronimo and so on (I didnt go for JBoss for some unknown reason). WAS 6 could've been a go-er except that it's not that friendly for young-uns at uni.
I wanted to use eclipse WTP 2 to do the development stuff - hey, the embedded JSP container (Jetty, aka J2EE Preview) is cool. But hey, Eclipse WTP 2 under Europa breaks all the time with permgen errors and a million little nigglys. Bleeding edge, more like haemorrage edge. Also because bloody IT support at faculty of IT UTS insist on the latest and greatest software so by default (ed: Fedora 8's fault) it runs fricken "icedtea" Java 1.7. This of course is ALPHA code and breaks not only eclipse but everything else under the sun (or should that be solaris .. chuckle!)
So I kept trying for 2 F*CKING weeks to get it working. Finally, 3 days ago (and a massive panic attack) I gave up and ran Workshop for Weblogic (comes with the server in $BEA_HOME/workshop_10.0 ) which was quite decent actually.
What am I saying??? IT ROCKS. The downside? It CRAPS the other server runtimes. Why did they remove J2EE preview and block you loading any plugins for other server runtimes? Oh well, that's why it's free. I wasted quite a few hours trying to hack it, but hey, ran out of time (suspect they have overridden a few Eclipse WTP classes deep inside in its bowels)
And BEA Workshop (or Workspace whatever) for JSP is wonderful. Has a JSP and Struts and JSF WYSIWYG editor. Amazing that I can run it for free (or at least 1 year). They combined everything together at last in the latest (march 08) versions of Weblogic 10 ?MP1?.
Now one more rant before I finish typing up the labs. I wish there was a way to manage slides. Powerpoint slides that is. I'd like some form of content management system that works for presentations so I can reuse, extend, do OO stuff. Slide Executive (looked interesting but it's a bit of a wank really. Just scans your directories for PPT slides, grabs the text and converts the slide into a GIF (!) then lets you generate virtual presentations via drag drop. You can search (using the extracted text) but there is nothing like version control or whatever. It ain't content management!
Oh goody. Maybe that will be my next project.
Code and content manage rulez!
Sunday, March 16, 2008
Friday, February 29, 2008
Friday, February 22, 2008
Subscribe to:
Posts (Atom)