Bringing Web 2.0 to the en.terpri.se

First, let me establish one thing: I don’t work for BEA. Since leaving Plumtree more than four years ago, neither Plumtree nor BEA has paid me a dime. They don’t pay me to write in this blog. They’re not paying me to speak at BEA Participate in May. Although we have a subcontract agreement in place, we have never actually subcontracted through Plumtree nor through BEA. You get the point: what I write here (or anywhere, for that matter) is not endorsed or sanctioned in any way by BEA.

The beauty of that is that I can be BEA’s sharpest critic or their most outspoken advocate. Today, I come to you, dear readers, as the latter.

I am here to tell you that I think the latest marketing positioning to come from BID — in the most apropos form of a “rogue” web site called en.terpri.se — is perhaps the finest writing I have yet to read on the topic of bringing Web 2.0 to the enterprise.

This concept — which many of you already know as “Enterprise 2.0” — is not a new one. But just as consumer portals were not new in 1997, they were at that time very new to the enterprise. And today blogs, wikis, tagging and other social software have already infiltrated the consumer internet. But, as we have been saying since early this year and as others have been saying for a while now, these concepts are only being embraced by the early adopters in corporate/enterprise computing.

But with projects Builder (Holland), Runner and Graffiti (now known as Pages, Ensemble and Pathways, respectively) nearing general availability, all of that is about to change. If you want to find out exactly how, I encourage you to read and digest all of en.terpri.se and its more traditionally-branded counterpart, www.bea.com/enterprise.

Just as Plumtree took the world of enterprise computing by storm by introducing the concept of the corporate portal, BEA is about to re-revolutionize the enterprise by injecting it with a strong dose of Web 2.0.

I won’t rehash what they’ve already spelled out so concisely and intelligently on en.terpri.se; instead, I’ll give you my own take on the products based on what I’ve read there.

Pages (formerly known as Project Builder or Holland)

To call Pages a powerful blogging and wiki tool for the enterprise doesn’t really do it justice because it is, well, so much more than that. Imagine if you could use point-and-click/drag-and-drop tools to mash up structured data (RDF/RSS, the output of a SOAP-based web service, or the result of a SQL query) with unstructured, end-user maintainable, version-controlled wiki-like content — now you’re scratching the surface.

For those of you already familiar with AquaLogic products, think of how amazing Studio would be if it were somehow married to Publisher (we used to call this “Contudio” before it actually existed) and if Studio could tap into existing resources and then somehow weave published content into the resulting user interface output. Now put all this in the hands of the end-user (to give it that Web 2.0 magic), add a sprinkle of security/governance, auditing and enterprise administration and you’ve got Pages.

Ensemble (formerly known as Project Runner)

This may not be the best way to envision Ensemble, but it works for me: imagine taking all the tasty bits that Pages gives you, but put it in the hands of IT and developers. Instead of dragging-and-dropping, a developer can embed a runner Pagelet XML tag into his or her legacy (or newfangled long-tail/rogue) application, then proxy the application through the runner “gateway” and, out of nowhere, the application can have, say, a collaboration discussion or wiki page embedded in it.

Not to mention that other enterprise services such as security, SSO and auditing, can be mixed into the application just because it’s running in the Ensemble gateway. With this incredible new product, pretty much anything is possible because it gives developers the tools to provide secure, scalable, audit-able and maintainable mashups of just about anything in the enterprise or consumer web.

Pathways (formerly known as Project Graffiti)

Calling Pathways a next-generation Knowledge Directory may be an easy way to conceptualize it, but again it really doesn’t do it justice. Unlike the top-down, “mother knows best” taxonomies of the past, Pathways puts the power to categorize corporate knowledge in the hands of the knowledge consumer. Like del.icio.us and digg, Pathways is BEA’s recognition of the “many is smarter than any” principle. Unlike its consumer web counterparts, Pathways uses a page-ranking system that’s based on a whole slew of factors, including not just how or how much an entry is tagged, but also how “respected” the tagger is in terms of other entries he or she has tagged. Like the KD of the past, Pathways can import content from file shares, e-mail/groupware systems and even from Sharepoint (gasp) — think CWSs — but very much unlike the KD of the past, control over the taxonomy and how well entries get ranked in search is ceded to the end-user, where many argue it belongs.

Needless to say, I’m very exited about these new product initiatives for many reasons, not the least of which being that I’ve bet my entire company’s future on their success. So maybe I am a little biased. That being said, I’m not here to tell you that BEA invented Web 2.0 or even Enterprise 2.0. However, I am saying that — based on what I’ve experienced over the past ten years that I’ve been pushing the enterprise computing envelope — BEA is poised to execute on the Enterprise 2.0 reality better than any other company right now.

Mark my words: you will watch Pages, Ensemble and Pathways implementations spring up throughout the Fortune-whatever just as quickly as you saw enterprise portals replace intranets in the late 90s.

Better yet, in the spirit of Enterprise and Web 2.0, rather than watching this happen, let’s participate in it.

Comments

Comments are listed in date ascending order (oldest first) | Post Comment

  • Are these products built with partners or reskinned? Is that the reason why this isn’t this on dev2dev? How long has this been on?

    Posted by: logicuser on April 1, 2007 at 1:53 PM

  • I’m not sure I fully understand your questions, but I think I can comment on them a bit. First off, the products are being built by BID’s core engineering team — many of the same folks who brought you ALUI, ALI Publisher, ALI Collaboration, ALI Studio, etc. I don’t know what you mean by “reskinned” but these products are all new initiatives, although they undoubtedly leverage the experience the BID folks have garnered over the past 10 years they’ve spent building enterprise portals and other enterprise software.To answer your last question, the marketing documents and web site were only released last week to the public. I think you should expect to see GA for these products some time this summer, but don’t quote me on that — remember, I don’t work for BEA.As for this stuff not being on dev2dev, well, with my blog post, now it is! There’s also a lot of the same info located at www.bea.com/enterprise with more traditional BEA branding. I’m sure you’ll be seeing more on dev2dev soon.

    Posted by: bucchere on April 1, 2007 at 3:48 PM

  • These products have all been organically developed at BEA. In some cases we have leveraged our existing capabilities and technologies (i.e. our experiences with our search product informed our decisions with the new Pathways product), and in the end these are new products built by BEA.The http://en.terpri.se micro-site was launched last week, and it is meant to provide a Web 2.0 and Social Computing resource that will grow over time. We will have the blogs on dev2dev and en.terpri.se refer to each other as appropriate.And, of course the same base product information was also made available concurrently last week at http://www.bea.com/enterprise.

    Cheers,

    Shane Pearson

    BEA Systems, Inc.

    VP, Marketing and Product Management

    Posted by: spearson on April 3, 2007 at 1:40 PM

Four ALI IDKs at your Disposal — Fifth One on the Way?

As most of you already know, there are four IDKs out there in IDK-land. To take a step back, if you’re really new to ALUI (formerly Plumtree) development, you can read about how ALUI handles portlets and how an IDK helps you write portlets. So, back to the four IDKs. They are all freely-downloadable from BEA — I’ve included links here:

*These two IDKs were written by developers at bdg and then released to the open source community on dev2dev’s CodeShare.

edocs warns you in boldface type: always use the IDK. That’s sound advice, given that the IDK API isolates you, as a portlet developer, from changes to the underlying protocol that ALUI uses to communicate between the portal and portlets (CSP). However, what if you’re not writing a portlet in Java, .NET, Ruby or PHP? As an aside, once upon a time, there were Perl and ColdFusion GDKs (predecessor to the EDK/IDK), but these development kits are no longer maintained by anyone, although I know for a fact that the ColdFusion GDK is still in use by an ALUI customer because it came up during a sales call!

So, back to my “what if” question: how can you write a portlet without an IDK? It’s actually not too hard if you’re just getting information from the portal. However, it gets challenging when you start setting preferences and then it starts to get really painful when you start dealing with Unicode issues, encrypted settings and some of the other really hairy stuff. So that’s why edocs implores you to use an IDK, when one is available.

If you do go down the road of writing a portlet in a language where an IDK isn’t available, I highly recommend that you at least abstract out your CSP calls such that they’re isolated from the rest of your portlet code. While you’re at it, you might as well follow the same API that BEA uses; in other words, write your own IDK (or at least the parts of it that you need to get your portlet done). To get you started, here’s how BEA probably implemented one of the IDK methods in Java:

public AggregationMode getAggregationMode() {
  if (!request.isGatewayed()) {
    throw new NotGatewayedException("Request not gatewayed.");
  }
  
  if (request.getHeader("CSP-Aggregation-Mode").equals("Multiple"))
    return AggregationMode.Multiple;
  } else {
    return AggregationMode.Single;
  }
}

So, go forth and write your own IDK. Or, preferably, ask a bdg-er to write one for you!

On a related note, one of our customers recently asked us to build an IDK for Lotus Notes/Domino in LotusScript. We’re trying to figure out if other people might be interested in this IDK so that we can decide if we’re going to open source it or do it as a consulting project (or some hybrid of the two). If you are interested in LN/Domino development for ALUI, let us know by commenting on this blog. I always love hearing feedback from users of the PHP and Ruby IDKs as well.

Comments

Comments are listed in date ascending order (oldest first)

  • Hi Chris. We have a couple of remote portlets on web servers running Perl so I looked around for awhile for the original Perl IDK but couldn’t locate it, so I’ve written a Perl module that supports the methods provided by IPortletRequest. They’re read-only methods but are really all we needed access to. man-page is here…
    http://webdev.co.nz/Perl/IPortletRequest.txt Is this worth placing in codeshare do you reckon? I don’t see a lot of action in the forums concerning Perl use.

    Dean Stringer ([email protected])

    Posted by: deeknow on March 22, 2007 at 2:00 PM

  • Hello Dean! The original Perl GDK was written so long ago that I’m not sure how much good it would do. It was based on CSP 1.0 and it followed the old GSServices API rather than the new com.plumtree.remote.portlet API.

    I’m pretty stoked to find out that someone else has written at least part of an IDK — that’s impressive. Do I think it’s worth posting to CodeShare? I haven’t heard much talk about ALUI and Perl, but I guess it can’t hurt.

    Posted by: bucchere on March 22, 2007 at 5:03 PM

  • Hi, Chris. We would love to have a Lotus Notes/Domino IDK available to us, as we have lots of “legacy” applications in Domino that we want to expose in ALUI, and an IDK would certainly help! Just my nickel’s worth… 🙂

    Posted by: kcepull on March 30, 2007 at 11:21 AM

  • Thanks for your comment. If you don’t mind my asking, would you be willing to pay for such a thing or is it only a nice-to-have that you would download and use if it were opensource, but not pay for it if it were a commercial product?

    Posted by: bucchere on March 31, 2007 at 6:07 PM

ALI G6 on Ubuntu?

Some of you may be familiar with my rants on the bdg blog about how Linux just isn’t ready for the desktop. My opinion on that matter has largely changed with the release of Ubuntu 6.06 LTS (Dapper Drake), which I have been running with minimal hassle on my newish Gateway MP6954 laptop since last summer. It has a tasty coffee-colored UI (mmm), it NEVER crashes, it basically takes care of itself with updates and has equivalent — or better — software for pretty much everything you’d ever want to do with Windows or OSX at a great price: free.

Of course ALUI is only officially supported on two Linux plaforms: RHEL and Suse. But Linux is Linux, right? Well, sort of. I had all sorts of “fun” getting ALUI running on Oracle on Fedora. However, with Ubuntu, getting Oracle and ALUI up was a breeze.

First off, unless you call yourself a DBA, you don’t want to mess around with a full-blown Oracle instance. Instead, just follow these easy steps to install something called Oracle XE. It has certain limitations — the most important of which is that you can’t create more than one database.

My first — and really my only — mistake during this setup process came next (and it’s related to this one-database issue). I tried to drop the XE default database (ORACLE_SID=XE) and run the crdb1_oracle_unix.sql script to create the PLUM10 database. This was a bad idea. I poked around on Google a bit and then thought, well, I don’t really need my own database. (Had I had this epiphany before starting down that path, I could have saved two hours and had ALUI up and running on Ubuntu in fewer than 30 minutes.) So, instead of running crdb1_oracle_unix.sql, just edit create_tables_oracle.sql and remove any reference to PLUMINDEX, then run the following commands on the XE database:

$sqlplus sys as sysdba
SQL>create user plumtree identified by password
SQL>grant connect, resource, create view to plumtree

This creates the plumtree user on the XE database, which gives ALUI its own schema, which, for our purposes, is just as good as having your own DB. Now you can basically just run the out-of-the-box scripts (keeping in mind the changes I made to create_tables_oracle.sql):

$sqlplus plumtree/password@XE
SQL>@create_tables_oracle.sql
SQL>@load_seed_info_oracle.sql
SQL>@stored_procs_oracle.sql
SQL>@postinst_oracle.sql

At this point, ALUI was ready to rock. I only ran into one small snag. One of the native search libraries complained about a missing LD_LIBRARY_PATH dependency on libstdc++. This was not a showstopper. I did the following:

$ln -s /usr/lib/libstdc++.so.6.0.7 /usr/lib/libstdc++-libc6.1-1.so.2

From there I configured the bundled tomcat to host the portal and the imageserver and viola, ALUI 6.0SP1, in all its glory, was up and running on Ubuntu. (BTW, I would have used ALUI 6.1.0.1, but when I wrote this article, the RHEL and Suse versions weren’t available yet.)

Comments

Comments are listed in date ascending order (oldest first)

  • I’ve also successfully installed ALUI 6.1.1 (6.1MP1) on Ubuntu 7.04 (Server). Required one workaround for the LAX installer shared libraries problem (can’t find libc.so.6 etc):
    $cp AquaLogicInteraction_v6-1_MP1 AquaLogicInteraction_v6-1_MP1.bak
    $cat AquaLogicInteraction_v6-1_MP1.bak | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > AquaLogicInteraction_v6-1_MP1

    Posted by: rdouglas on May 7, 2007 at 10:45 AM

  • hey Chris, appreciate the post! just wanted to give the hint that to change the plumindex on the create_tables script, you can do this in vi: :1,$s/PLUMINDEX/USERS/g

    Posted by: jbell on June 2, 2007 at 8:57 PM

  • Chris, nice post…I referenced this post while trying to get the new ALUI 6.1 quickstart installer to correctly intall the portal on windows xp. I’ve tried the installer on several xp machines but it is still failing…i think the error has to do with the way the installer is setting up the paths/environmental variables – when i run the diagnostics tool i get an invalid entry point…my paths look correct and i’ve tried re-installing multiple times on multiple machines…any ideas? Thanks.

    Posted by: phil- on September 10, 2007 at 8:41 AM

  • Well, after some troubleshooting I figured it out…here is the solution…I hope this is helpful to someone in the future…I needed to rename the icuuc30.dll in C:WINXPsystem32 to icuuc30_from_system32.dll and paste the icuuc30.dll from C:beaaluicommoninxight3.7.6binnative into the C:WINXPsystem32 directory before the installation would work.

    I did try just moving the INXIGHT_PATH variable so that it is loaded on the PATH before the C:WINXPsystem32 but the error still occured. BTW – icuuc30.dll is a component for Unicode version 3.0

    Posted by: phil- on September 12, 2007 at 11:47 AM

  • Thank you so much for this post, I had the same problem on XP. I’m just curious, how were you able to debug this problem? What pointed you to icuuc30.dll?

    Posted by: fhkoetje on December 4, 2007 at 9:31 AM

Portals and SOA: Portals in a Service-Oriented Architecture

I’ve been invited to give the following talk at BEA Participate:

Why is a Service-Oriented Architecture important to an IT infrastructure and what are the elements and products needed to build out an SOA? These questions answered, plus a discussion on how portals are the practical starting point to leveraging SOA.

Quite honestly, the title and abstract make it sound like an invitation to engage in a lively game of buzzword bingo, but I assure you this talk will be light on the trite — you won’t hear me use the acronym SOA more than once or twice — and heavy on the real deal, rubber-meets-the-road stuff about how mere mortals/human beings are actually accomplishing the sort of things that SOA evangelists are preaching these days.

So, here’s what you can expect: I’ll talk a bit about some of the challenges of building integrated user experiences in today’s enormously complex and heterogeneous IT environment and show how a software developer — without superpowers — can piece together an integrated true-to-the-principals-of-SOA application using ALUI, ALDSP (Data Services Platform) and ALESB (Enterprise Service Bus). This will culminate in an actual, real-life demo.

I will of course make sure to sacrifice a chicken to the Almighty Goddess of Demos or do whatever else I have to do to make sure my demo doesn’t crash. Scratch that, I’ll just run it on Linux and everything will be fine.

So, all joking aside, if you have any ideas for items you’d like me to include in (or exclude from) my talk, please post your comments here. I’ll be sure to give anyone who makes a good suggestion a “shout out” during my presentation. They’re actually giving me a whole hour this time, so they’ll be room for plenty of tomfoolery, geekspeak, silly anecdotes and still time to answer your insightful questions at the end. As one of my good friends and business partners said following my talk at last year’s BEA World,

you never know what to expect during one of [Chris Bucchere’s] talks.

I’m not sure exactly what he meant, but of course I took it as a compliment.

In closing, while we’re on the subject of BEA Participate, I just wanted to say thanks to Christine “Obi” Wan for giving me the opportunity to present and, more importantly, for putting together such a great-looking agenda, which you can review if you like, because now it’s posted on the BEA Participate site.

In the meantime, do your best to convince the powers that be at your company/organization that they will finally discover the secret to “leveraging SOA” if they send you to this conference. Also, please don’t mention that every past Odyssey has had several open bars.

Comments

Comments are listed in date ascending order (oldest first)

  • Working with Aqualogic we all know how it’s easy to plug in our portlet into Aqualogic. We don’t need Aqualogic portal running on our own computer to do this, we don’t need special IDE, we don’t need upload wars into portal. It took time to explain this to my experience J2EE collegaes that got some experience with IBM Websphere. Here what they do there:
    http://www-128.ibm.com/developerworks/websphere/techjournal/0410_barcia/0410_barcia.html
    A lot of steps pretty much the some but have a look at step 11. Here is the core difference. So at least one benifit of SOA is that we don’t need to do step 11.

    Posted by: Bryazgin on April 13, 2007 at 7:03 AM

  • >Quite honestly, the title and abstract make it sound like an >invitation to engage in a lively game of buzzword bingo True, I have the some issue. In my article (for russian development network) I want to stress SOA architecture of Aqualogic, but I don’t want to use SOA word. Audience is pretty techical so they all pretty much feed up of this word. Hmm, may be I will end up with this:
    Avoid nightmare of step number eleven !
    At least, “what the hell this guy talking about?” will be more predict reaction. 🙂

    Posted by: Bryazgin on April 13, 2007 at 7:25 AM

  • Hi Dmitri! Thanks for your insightful comments.As I’m building the demo for my talk, I’ve noticed that these SOA tools encourage you to loosely-couple everything. And that’s a good thing. As you pointed out, ALUI fits into this nicely with its loosely-coupled portlet architecture. The evil “Step 11” (too bad it wasn’t “Step 13”) is: “Select the Browse button and navigate to the WAR file for your portlet, then select Next (Figure 17).” Step 11 has some pretty awful implications for the enterprise. First off, it assumes that everything is Java, which, as much as I love Java, is just wrong wrong wrong in the heterogeneous enterprise. Secondly, it tightly couples your portlets to your portal, which is contrary to SOA.As an aside, I was listening to some Web 2.0 podcasts in the car the other day, and this guy who worked on Google Maps talked about “seams” in an architecture. To paraphrase, he basically said that everyone misuses the word “seamless.” Seams, just like in the textile industry, are critical to enterprise architecture. Just as seams hold swaths of fabric together and separate one bit of fabric from another, they also help define boundaries in the enterprise architecture that are equally critical to SOA. Without seams, everything must be homogeneous — applications must be bought from the same vendor, run on the same OS, be written in the same language, etc. — and this is completely contrary to the reality of enterprise software and systems and completely anti-SOA.

    To illustrate how not being “seamless” is actually a good thing, I’ve designed a demo system that involves bits of LAMP (Linux Apache MySQL PHP), bits of Java, bits of .NET and bits of Adobe Flash all held together with seams built with ALDSP, ALESB and ALUI. I’m still working on the technical side of things, but the use case is simple: a sales rep wants to quote his customer. Behind the scenes, his company is running a LAMP CRM server, a Flash/SQLServer product database, a .NET portal, and a Java-based Collaboration Server. Using a hybrid of ALDSP, ALESB and Java and .NET web services, the user experience is easy and seamless, but behind the scenes, it’s the powerful seams supported by ALDSP and ALESB that make this not only possible, but fairly straightforward.

    If you’re interested in hearing more, register for BEA Participate and [shameless plug]come to my talk[/shameless plug]! By the way, I’m co-presenting with Joseph Stanko, the BEA Engineering Manager responsible for the development of Ensemble (formerly known as Project Runner) — he will run several slides to help you understand the theory behind SOA and I will show the reality of how the AquaLogic stack truly enables SOA in the enterprise.

    Posted by: bucchere on April 14, 2007 at 6:07 AM

  • Alas, I’ve finally finished my demo. I had some configuration issues with ALSB, but ultimately they boiled down to the interface between the keyboard and the chair, i.e. human error. I had the proxy service calling the business service, which, in turn, called the proxy service again. You should have seen the utter wasteland this little tidbit of mutual recursion made of my machine. Actually, I was impressed — Java would spit out a JVM_Bind error once it exceeded some internal maximum, but ALSB (running on WLS 9.2) would actually keep running. Nice.Anyway, now that I’m past all that, I have an ALDSP layer over two disparate data sources (one MySQL DB containing CRM info and one HSQL DB containing product info) exposing data through netui/beehive to a single ALI portlet. (The nifty little portlet uses script.aculo.us to show an interesting new take on the age-old concept of master-detail.) I also included an Adobe Flex-driven portlet. The two portlets use some client-side IPC (inter-portlet communication) to exchange info and then they call a proxy service on ALSB that takes info from both sources and creates a Word document (in the form of a sales quote). The business service also uploads this document to ALI Collaboration so that people can work on it collaboratively before sending it to the customer. (I may replace this last little bit with a .NET web service, just to show that Java and .NET are both acceptable alternatives for writing the “glue” or “seams” in a true service-oriented architecture.)Lastly, the event coordinators have locked in a time slot for us: Monday, May 7th at 4:30 PM in the Technical/Developer Track.

    If you’re “participating” it would great to see you at our talk or at the bdg booth. This year we have a cool — yet practical — giveway that will definitely brighten your day. Looking forward to the conference!

    Posted by: bucchere on April 22, 2007 at 7:52 PM

What is Enterprise 2.0?

bdg-podcastThe bdg Plumtree podcast returns with a nice little segment on Enterprise 2.0 and, specifically, how it relates to BEA and bdg.

So, if you’re wondering what all this Web 2.0 hubbub is about and how it actually fits into the corporate/enterprise world, give Episode 6 a listen. Let us know what you think at [email protected].

Upcoming ALUI (Plumtree) Training — April 9th, 2007

We’re very pleased to announce that we’ve finalized the date for our next ALUI/Plumtree training course, scheduled for the week of April 9th, 2007.

We’re changing the lineup a tad to provide three days of ALUI administration training followed by three days of developer training, but all in a five day week. So how do we plan to pack six days of training into five? The answer is “super Wednesday,” which will be a day when we teach administration for developers. In other words, it’s the last day for the administrators (advanced administration) and the first day for the developers.

Bottom line: to sign up for either class (or the whole week), send an email to [email protected].