Tuesday, September 30, 2008

2008-09-30 Tuesday - SOA Alliance

SOA Alliance Wiki
SOA Reference Architecture

2008-09-30 Tuesday: SOA Maturity / SOA Governance

Sonic Software SOA Maturity Model

Sonic Software SOA Maturity Model Quick Reference
* SOA Maturity Model Level 1: This is the initial learning and initial project phase of SOA adoption. Projects here are typically done to simultaneously meet a specific need to implement functionality while trying out specific technologies and an approach to SOA.

* SOA Maturity Model Level 2: At this level, standards are set as to the technical governance of SOA implementation, typically under leadership of the architecture organization.

* SOA Maturity Model Level 3:A partnership forms between technology and business organizations in order to assure that the use of SOA provides clear business responsiveness.

* SOA Maturity Model Level 4: Level 4 focuses on measuring and presenting these processes at the business level so as to provide continuous feedback on the performance and business impact of the processes implemented at Level 3.

* SOA Maturity Model Level 5: The SOA information systems becomes the "enterprise nervous system" and takes action automatically according to events occurring at the business level according to rules optimizing business goals.


A NEW SERVICE-ORIENTED ARCHITECTURE (SOA) MATURITY MODEL

A Value Aligned SOA Maturity Model

ACM: A lifecycle approach to SOA governance

How governance and quality define SOA maturity

SOA Governance: Framework and Best Practices An Oracle White Paper

HP: SOA Maturity Assessment at Electrabel

Decorating Your SOA Services With Governance Enforcement ContractsMichael Wheaton, Principal Engineer, SOA Center of Excellence, Sun Microsystems, Inc.


Keys to Successful Governance with SOA
Best Practices for SOA Governance (Part II)

BPTrends - April 2007 - SOA Maturity Model

IBM Data Governance Maturity Model

SOA Consortium Promoting Business-Driven SOA "Executive Suite SOA" Case Study Summary

SOA Governance: 'Not Much' Success, Panelists Say (2/14/2008)
"Dave Estrom from Sun challenged the panel, saying, "I think SOA stands for Snake Oil Architecture...customers are asking for specifics, not platitudes."

"Another concrete step would be a service registry or repository "like IBM's WebSphere Service Registry and Repository

2008-09-30 Tuesday - How To

How To Create a User-Defined Service

2008-09-30 Tuesday - Visual Studio 2010 and the .NET Framework 4.0

Microsoft Unveils Next Version of Visual Studio and .NET Framework:
Visual Studio 2010 and the .NET Framework 4.0.

http://www.microsoft.com/presspass/press/2008/sep08/09-29VS10PR.mspx

Microsoft Announces the Next Generation of Visual Studio

2008-09-30 Tuesday

CSRF Flaws Found on Major Websites
"Researchers from Princeton University today revealed their discovery of four major Websites susceptible to the silent-but-deadly cross-site request forgery (CSRF) attack"


Popular Websites Vulnerable to Cross-Site Request Forgery Attacks

Cross-Site Request Forgeries: Exploitation and Prevention
William Zeller? and Edward W. Felten?y
?Department of Computer Science
?Center for Information Technology Policy
yWoodrow Wilson School of Public and International Affairs
Princeton University





Some interesting links:

The Linux Reading List HOWTO

The Loginataka

The Unix Koans of Master Foo (Eric Steven Raymond)

The Power of a Programming Portfolio

How To Become A Hacker

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science) (Hardcover)


How to be a Programmer: A Short, Comprehensive, and Personal Summary

How To Ask Questions The Smart Way

The Unix and Internet Fundamentals HOWTO

Software Release Practice HOWTO

Eric Nelson on Windows as a Web Platform

Introducing Spring Batch




Manage component dependencies for improved system quality

Extreme Transaction Processing, Low Latency and Performance

TheServerSide Tech Brief

Java theory and practice: Are all stateful Web applications broken?

Brian Goetz - Java Theory and Practice series

Mule module "Smooks for Mule" 1.0 Released
Smooks is a Java Framework/Engine for processing XML and non XML data
(CSV, EDI etc).

Smooks can be used to:

* Perform a wide range of Data Transforms - XML to XML, CSV to XML, EDI
to XML, XML to EDI, XML to CSV, Java to XML, Java to EDI, Java to CSV,
Java to Java, XML to Java, EDI to Java, JSON to Java, JSON to XML etc.
* Populate a Java Object Model from a data source (CSV, EDI, XML, JSON,
Java etc). Populated object models can be used as a transformation
result itself, or can be used by (e.g.) Templating resources for
generating XML or other character based results. Also supports Virtual
Object Models (Maps and Lists of typed data), which can be used by EL
and Templating functionality.
* Process huge messages (GBs) - Split, Transform and Route message
fragments to JMS, File, Database etc destinations.
* Enrich a message with data from a Database, or other Datasources.
* Perform Extract Transform Load (ETL) operations by leveraging Smooks'
Transformation, Routing and Persistence functionality.

Smooks supports both DOM and SAX processing models, but adds a more
"code friendly" layer on top of them. It allows you to plug in your own
"ContentHandler" implementations (written in Java or Groovy), or reuse
the many existing handlers.

Monday, September 29, 2008

2008-09-29 Monday

A very busy weekend.

I've installed/updated a number of applications on my laptop:

  • Visual Studio 2008 SP1, with MSDN Library

  • .NET 3.5 SP1

  • MSMQ

  • IIS

  • EMS MySQL Manager Lite 2007

  • MySQL-5.0.67

  • EMS PostgreSQL Manager Lite 2007

  • PostgresSQL-8.3

  • PHP-5.2.6

  • Subversion-1.5.1

  • TortoioseSVN-1.5.3

  • GnuGP for Windows

  • OpenOffice-2.4


  • If you need a quick intro to deploying applications from Visual Studio 2008 to IIS 7.0 - here is a good link: Using Visual Studio 2008 with IIS 7.0

    Sunday, September 28, 2008

    2008-09-28 Sunday

    Overcoming Obstacles in Implementing SOA
    "To convince the major stakeholders, you need to be much more specific. Drawings of how SOA untangles the rat’s nest of intertwined systems are nice, but business stakeholders want far more concrete details of how this effort will yield benefits that justify its costs. They’re also skilled at sifting soft from hard numbers in ROI estimations. Regardless of how you approach SOA, you must provide very realistic figures if you want to be taken seriously."
    (...)
  • "Enterprise (top-down) SOA approach, which is an extremely high - risk approach with an initial price tag of a several million dollars. In addition, based on the size and complexity, such project can virtually never be accurately estimated."

  • "Grassroots (bottom-up) SOA approach - implementing elements of SOA (both services and infrastructure) as parts of existing business-driven IT undertaking. This approach typically does not succeed. On one hand, the scope of resulting services is limited to the specific business problem and might not be applicable (or even wrong) for the rest of enterprise. On another hand, the time and expense required to build the SOA layer can detract from other business needs of a project."





  • Some Visual Studio Links

    Book Spotlight: Visual Studio 2008 Unleashed

    MSDN Library for Visual Studio 2008

    Microsoft Visual Studio 2008 Service Pack 1

    Microsoft .NET Framework 3.5 Service Pack 1





    Some Semantic Web Links

    Some really interesting links to Semantic Web blog writers

    TBLs 2005 talk: Semantic Web Concepts

    Serialising Java Objects to RDF with Jersey

    OpenRDF.org - home of Sesame
    Sesame is an open source framework for storage, inferencing and querying of RDF data

    Kevin Kelly at TED: Predicting the next 5,000 days of the web

    Cwm (pronounced coom) is a general-purpose data processor for the semantic web, somewhat like sed, awk, etc. for text files or XSLT for XML. It is a forward chaining reasoner which can be used for querying, checking, transforming and filtering information. Its core language is RDF, extended to include rules, and it uses RDF/XML or RDF/N3 serializations as required.

    Semantic Web Application Platform - SWAP

    Book Review: Semantic Web for the Working Ontologist

    RDF Primer — Turtle version

    Building Secure Open & Distributed Social Networks

    D2RQ — Lessons Learned
    Position paper for the W3C Workshop on RDF Access to Relational Databases

    The Tabulator project is a generic data browser and editor. Using outline and table modes, it provides a way to browse RDF data on the web. RDF is the standard for inter-application data exchange.

    So(m)mer is a very simple library for mapping Plain Old Java Objects (POJOs) to RDF graphs and back. Sommer stands for "Semantic Object (Metadata) MappeR".
    The end user interacts with the framework using the MapperManager class whose static methods return a Mapper implementation. The Mapper implementations allow the user to import triples into a graph, query the graph for objects of a certain type of id, add objects to the graph, check if an object is mapped, etc...


    HowTo use so(m)mer in your project





    Web-enabling PowerPoint slide presentations
    slidy overview

    Download slidy

    Also see S5



    Sunday, September 07, 2008

    Monday, September 01, 2008

    2008-09-01 Monday - Google Web Browser ("Chrome")

    Google plans to launch web browser

    My initial reaction to this news: "ho-hum". Yet another fraying thread in Google's increasing lack of focus. Or put another way, yet another desperate attempt by Google to create the appearance of productive activity that masks the dismal failure of so many other Google initiatives to generate anything but the most meager of revenue streams - relative to their primary advertising revenue golden goose.

    In the near-term, this will probably garner a host of pundits writing laudatory columns that paint Google as the David fighting the Goliath of Microsoft. There may even be a near-term bump in Google's market cap - as analyst pile on top of each other to be the first to declare the magnificient demonstration of Google's technical prowess with this new browser.

    But I ask you, "where's the beef?"

    I can hear the sizzle coming from the kitchen - but really, what's it all about?

    What is the value proposition that is going to cause a user of the internet to download and install a 1st generation product that may not yet be fully debugged?

    What is the value to Google's bottom line - when by some analyst accounts - they already own 70% of search?

    I suspect that for Google to improve the quality of search results much more for the typical user - they must move the game to a completely new level in terms of tracking and monitoring user activities.

    That is what I suspect is the true nature behind Google's "Chrome" initiative.

    That may not sit so well with users who are already fearful of the power that Google has amassed in its huge databases of a user's interests and net surfing behavior.


    Google's Omnibox could be Pandora's box
    "The auto-suggest feature of Google's new Chrome browser does more than just help users get where they are going. It will also give Google a wealth of information on what people are doing on the Internet besides searching.

    Provided that users leave Chrome's auto-suggest feature on and have Google as their default search provider, Google will have access to any keystrokes that are typed into the browser's Omnibox, even before a user hits enter.

    What's more, Google has every intention of retaining some of that data even after it provides the promised suggestions. A Google representative told CNET News that the company plans to store about 2 percent of that data--and plans to store it along with the Internet Protocol address of the computer that typed it.

    In theory, that means that if one were to type the address of a site--even if they decide not to hit enter--they could leave incriminating evidence on Google's servers."

    2008-09-01 Monday

    Today I installed the latest version of Notepad++ (5.0.3) - what a great developer tool!