JCorporate cofounder and COO, Sandra Cann, responds in bulk to questions
she receives every day concerning JCorporate, Expresso and her vision of
the future of the J2EE marketplace as of October 2002.
1) What inspired you to start JCorporate and the Expresso project?
Our excitement about collaborative community development inspired the formation
of Jcorporate. Collaboration is an ideal methodology since it enables customers
to drive software evolution and lets face it they know their needs best.
Expresso and all projects were built out of real world experience which
created the opportunity. We were working on an Enterprise Information System
for a large multi-national in the early days of Java. This project was
later commercialized into Expresso and eContent in 98/99. Expresso came
out of a think tank where we identified that the foundation architecture
of eContent was broadly applicable to "reuse" in web application
development in general. As a result we spent 6 months extracting and commercializing
components to create the open source Expresso framework. Given that this
is a foundation technology upon which to build applications, we felt it
was most appropriate as an open source project because it has very broad
applicability. We invested a lot of resources ensuring support across databases
and servers, as we were convinced that Java's main feature is its cross
platform portability. Our passion about collaboration is reflected in the
endless hours put into building the Expresso community.
As our name reflects that we are providing eBusiness components with the
objective to earn revenue to support the company and its hard working people
including independent developers. Expresso was the first application framework
product to market. It was started to create a standard upon which to build
applications. And in the process we hoped it would drive site traffic and
creates sales in eContent as an add-on application. We anticipated support
would be our mainstay revenue, though community support is so effective
that this proved not so.
While the site was launched in January '99 with the release of Expresso
in June of '99. Very soon after, great people were helping us out. Folks
like Adam Rossi, Michael Rimov and many others started pouring in ideas
and by the time 2.0 was out Expresso was popular. Its very exciting to see
people join the community from all over the globe
- truly the web is incredible for facilitating collaboration and uniting
people in their commonality on a project.
2) Where does Expresso fit into the application framework market place?
Expresso is an architectural framework comprised of application development
components. The primary basis of comparison I have to share for the application
development framework market place is relative size of the community listservs,
a common point for comparison since not all communities track downloads.
At last count, Expresso's listserv averages about 4500, Struts about 1800,
Turbine about 575, and Barracuda about 175 members. It is important to
note that Expresso and Struts are not competitors to each other - and in
fact complement another - as Expresso adopted the Struts MVC with our 4.0
release. Expresso offers a superset of functions as Struts is intended
to be a "thin" framework. Together it is estimated Expresso/Struts
comprise about 85% of the application framework marketplace when factored
with other misc solutions. Well more than 100,000 copies of Expresso has
been downloaded to date.
We push to provide a standardized architectural framework, a "skeletal"
application built with the explicit purpose of being used as a base for
rapidly developing instances of family of applications. Without the openness
of standardized architectural framework users lose the "intergratable"
with other applications. You can pay more for a framework, but it doesn't
get better than Expresso.
Expresso provides the invisible underpinnings that complex J2EE applications need to succeed. Given that J2EE remains a fast-changing standard even today -- Expresso's framework architecture makes it easier to swap in new technologies and even whole new components based on evolving standards such as found in the JSRs (Java Specification Requests). Expresso improves your applications' ability
to evolve with J2EE. It also improves the portability from app server to
app server.
Struts and Expresso I perceive are rapidly becoming the defacto standard.
The need is there and is being increasing recognized by seasoned developers.
We have the technology, the mindshare, the customers, and the supporting
company. We compete today in the market with a simpler, better total cost
of ownership (TCO) solution.
3) What are the advantages of going with Expresso?
We're free and we have a first-rate product. We lead in many technical
features. We've been around a long time and have a very established customer
base. Very early on we were known for introducing ground breaking features
like dbobjects. What sets us apart is that we support and collaborate on
other open source projects incorporating them into the Expresso architectural
framework. We don't try to reinvent wheels already created. This creates
a best of breed solution.
The problem with application development today is a lack of interoperability
between applications. Companies buying an CRM software from one vendor
may find it unable to integrate with a CMS system from another vendor or
even with their inhouse software. Expresso solves a critical need in the
Java development world of providing a foundation set of components that
standardize common programming tasks.No other product integrates and pulls
together so many disparate components into one integrated architectural
framework. Expresso's components represent best of breed - not just that
we developed ourselves. We utilize and integrate with other open source
projects that are recognized as being very strong - even replacing individual
Expresso components where it is desirable to maintain the commitment to
those components that represent defacto standards. An example of this is
with Expresso 4 when we replaced Expresso's MVC with Struts MVC. This has
strengthened both the Struts and Expresso projects and communities. The
sum being greater than the sum of their parts.
Beyond the technology advantages there are also advantages to going with
an open source vendor. Of course, not paying for the license may be a factor
in itself for selecting Expresso. I believe the recession has been a factor
in open source going mainstream with many companies including the Fortune
1000 companies. Cost, stability, standardization are the factors in their
selecting successful open source technologies like Expresso. What I mean
by stability is - unlike their commercial counterparts, Expresso and other
open source projects are supported by a network of companies - so they
aren't going to go out of business. Expresso is supported by a network
of partner companies and contributors - our company will not vanish tomorrow
like many companies have already. We are here to stay, our costs and overhead
are minimal.
We have a higher level of contribution to our product and a commitment
to getting new releases out regularly. We also lead in stability. We have
18 active developers around the world with write access to the source code
online. You can click on our contributor team link and look at who some of them are individually. These people are around
the world, they're not limited to any country culture or corporate culture.
With open source, not only do you have the advantage of access to the source
code, which makes it easier to fix bugs, but it also makes it easier to
develop applications on top of Expresso. When an open source project gets
to be the size of Expresso, you tend to have more process driven and modular
development. If one of our developers leaves, it's not the setback as would
be with a proprietary vendor. Others are ready to pick up where he or she
left off.
Expresso's standardization is based on our downloads and the feedback we
get from our users. Odds are the product with the greatest market penetration
will always have the greatest stability - which is Expresso and Struts
in the application development framework space.
4) What is it like being in open source?
Firstly, people adopt Expresso because it's technologically advanced and
it gets them to production faster. Open source is very competitive. You
don't stay in open source if there's no passion and good leadership. Blink
and the world moves on. There is so much happening in technology advances
that no one person can hope to stay current on all of it. Just look at
how many JSR's are in process. That's one of the reasons open source works
so well; because people bring their respective strengths and ideas to a
project and cumulatively it is greater than the sum of the minds. Cumulative
mindshare/brainshare is the strength of open source.
People too often equate free software with free developers. Actually developers
contribute to Expresso for free because it gets them to production faster.
Open source developers use the project to meet their own internal company
needs/ or that of their clients' for faster results - and in the process
provide feedback and code fixes/enhancements. It is about win/win. The
feedback goes back into the project and the project evolves - the developer
benefits because it becomes part of the production release and then is
supported and improved upon by the community at large. We're in constant
contact with our users. If they have criticism or suggested direction,
we hear it. We don't code in a vacuum - which is what keeps the product
aligned with the community's needs.
The excitement in open source is when there is strong leadership resulting
in: 1) collaborative development is a superior developer methodology in
building a product - the result is better than any closed proprietary counterpart;
2) building a dynamic community that bridges the globe and works together
for the betterment of everyone.
For me personally open source and collaborative development is also about
living a balanced, quality life, though no doubt I work too much. Somehow
it doesn't seem like work when it is so much fun or simply living my passion!
Its about living my life in the most win/win way. While the corporate office
experience is exhilarating to me albeit can be bureaucratic and political,
I find open source is incredibly more creative. I also prefer more space
(versus working cubicle), natural light (versus florescent), and avoiding
wasting 1-3 hours commuting a day in heavy traffic. Most importantly there
is freedom. Let me explain....Do you work to live; or live to work? What
is your dream life?
| During the first four years of building the Expresso community, driven
with passion I worked long hours often into the late night or early morning.
Here's the kicker -I worked from my sailing yacht at dock, with the beauty
of the turquoise waters around me, mangroves and wildlife, fresh air, and
plenty of sunlight. There have been days when I have been interrupted by
a noise and gone out to enjoy some passing dolphins or manatees which were
visiting the boat. Heck one could even sail around the world and develop.
With collaborative development do you can go skiing in the morning - and
program into the evening effectively skewing your day to live life more
fully. Freedom to live life creatively and fully. |
 |
More recently this way of life is letting me take advantage of becoming
more family oriented. My husband and I are having a child in January and
its about wanting to watch our child grow - so with this life change, working
from the office in our home becomes more enticing. I can telecommute and
manage Expresso and the site from our home while being a mom. In addition
as part of JGroup I can provide consulting services onsite as required.
That's what I mean about freedom.
5) How do you reconcile working in Open Source with meeting the needs of
the corporate IT world?
With open source maturity and with the ongoing effects of the recession,
open source has become mainstream in Fortune companies. What that means
is corporate America is adopting it on a wide spread basis. And corporate
America has service needs. With this change, the current evolution of open
source I see is the increasing focus on professional services for open
source projects. The good news for Jcorporate is we have always had this
focus in our corporate culture.
Jcorporate's name was chosen to make a point that we are about Java components
for corporations. When corporations purchase products, they also want service
and support ASAP. Jcorporate was structured as a company to meet the service
requirements of the corporate IT world. This is how we are different in
the open source space. Our staff came out of the corporate world providing
services for big name companies. We know what those companies are about
and we know how they work. Expresso and its development process has evolved
as open source has matured. By this I mean increasing focus on release
management including nightly builds, maintaining a stable release and so
on.
The need for corporate services by corporations and our desire to provide
it are in alignment and win/win. Like you, we have bills to pay and often
have families to support. We have embraced open source as a way to make
a decent living providing services to these corporations.
6) So how are you making a business out of open source Expresso?
You need qualified people. You need knowledge. The developers on Expresso
are the people that know the product best. We are presently revising our
methodology of providing global services to reflect moving our internal
services organization to that of a networked organization to provide services
- comprised of our core/major contributors and resellers to provide services
under the Jcorporate Group services (JGroup) umbrella. JGroup generates
the jobs, i.e. contract for developing web services Expresso extension
- and the developers benefit from an marketing and branding umbrella. They
are the best qualified people in the world to provide services on Expresso
because they are the developers of Expresso - win/win for our Corporate
clients.
The developers of the framework who have the most extensive indepth product
knowledge are providing support. How many companies, like BEA, IBM or Oracle
let you have their developers for consultants or contract developers? So
it's a very different kind of service, a very high end quality service
that we're growing with JGroup. JGroup is comprised of core developers
of Expresso that we bring under an umbrella to provide the best service
possible. For example a member of our JGroup (core developer) just completed
a contract to build an Expresso WebServices component for a company in
Europe. We're growing these services today and you'll hear more about
it thoughout the next quarter.
We encourage more people be become developers on Expresso and to make a
living from Expresso and get more involved in providing contract support
and development services. What I mean is dedicated professions that step
more fully into the open source way of life and make a living out of it
while at the same time maintaining their independence. This idea is a novel
approach to open source and one that I'd expect to see increasingly adopted.
Our business model for open source is to sell the services and value added
products. It's clear that without a first-class product, no one would
buy any related services. If we didn't develop what the corporate IT world
wants and needs--well, corporations and consultancies would stop subsidizing
their developers to work on Expresso. JGroup, our commercial services, backs up the Expresso product with cost
effective services for the corporate IT community including training, support, development and consulting services.
Another area that we're reconciling working in open source with the needs
of the corporate IT world is via the add-on products that have been built
on top of Expresso. And we have a unique concept that community developers
can profit share on Jcorporate's add-on products. We also list third party
products onsite and are building an Expresso Marketplace to encourage more
third party products.
7) Can you tell us where you see JCorporate going in the next few months
and your overall vision of where you want to take the project?
We have a busy remainder of the year ahead. With the release of 5.0, there
are several things happening. First priority is getting new releases out
of all of our value-added products, such as eContent. And with the impact
of the recession and resulting reduced budgets, we have a few interesting
ideas to put forth - including eBay auctions of our value-added components.
Let the community set the pricing in these changing times.
In addition Jcorporate's focus will be on developing the Expresso Marketplace.
This new area of the site is to promote the third party products and services
that are available for Expresso. It's a very hot idea. Using our own content
management system (CMS), third party vendors will receive statistics to
convey interest by the community and a comparison to other projects; and
will also have sales tools such as event notifications to promote their
product to registered users.
We will be also focusing on some new value added products including a web
services component, LDAP component, and for next year a visual front-end
for Expresso. And as well we'll be incorporating new and updated technologies
such as Java Server Faces and Struts 1.1. An important task ahead is documenting
Expresso's design patterns.
We're moving the site to a larger server, and at the same time upgrading all the software onsite to the latest versions. Some enhancements are planned at the same time.
In the last eight months we have been developing relationships with various
universities and will be investing a lot more time into building relationships
for their involvement for use of our projects in house and for use in their
research projects and into the university curriculums.
whoa we have a lot planned. A busy time ahead :)
Our ambition is clear. We want Expresso to strengthen itself as the defacto
standard for J2EE architectural framework. We are already the largest framework
community, by an order of magnitude. We have deep ties to the industry,
we sell our services to some of the biggest financial and telco names in
this industry and we have worldwide top talent.
8) What do you see in the future of J2EE?
Sun has done a great job of creating an open community that allows the
various industry parties to create standards. In fact it is this openness
that will be its ultimate strength. Lets face it, utilizing the the world
brainshare on evolution of software creates better results and faster evolution.
I am hearing that .Net is gaining ground in market share and it has me
concerned at least in the short-term. Let me discuss why I think that is
so - namely a lack of standardized architectural layer and lack of visual
tools.
As J2EE has become more broadly adopted, seasoned developers have realized
the need for defined approaches that both simplify and standardize the
application architectural layer necessary to consistently deliver high-quality
applications and create interoperability between applications. The architectural
layer generally encapsulates an application's technical complexities independent
of the business logic, thereby providing a loose coupling between the business
functionality and the underlying technical infrastructure. A standardized
architectural layer is lacking.
J2EE's creators worked on how they could standardize the APIs rather than
building blocks developers need to focus on their business application.
While J2EE design patterns help developers construct an application architecture's
requirements - the different implementation of these patterns such as MVC
does not guarantee interoperability between an application built inhouse
and one build by a third party company.
I liken this to the failure of the Unix derivatives in the 80's - while
more standardized than the different proprietary operating systems the
diversity created fragmentation of the market. This is dangerous considering
J2EE is up against MS/.Net which doesn't have such fragmentation.
Let's take the example of MVC: What I see happening is the gradual recognition
of Struts as the defacto standard MVC, but will its eventual formal acceptance
as a standard take long and in the meantime result in the further weakening
of J2EE's position against MS .Net? This is but one element that needs
standardization from my point of view.
With the acquisition of iPlanet, I see Sun now focusing more on offering a complete SunOne infrastructure. I see this as being very positive.
The other weakness I see presently in J2EE is a lack of an adequate visual development environment. I see on various listservs developers frequently comparing J2EE development to MS' solution with increasing frequency. Fortunately I think this is something that we're already starting to see being addressed on a number of fronts by companies like Objectventure. Objectventure is a tool that integrates into various IDEs thay is already
providing an GUI environment for Struts and will be adding Expresso GUI
support to their feature list for 3.0.
Its tremendously exciting and fun being involved in this fast paced, dynamic,
creative industry.
|