[OPEN-ILS-DEV] Software architecture ?
Reuben Pasquini
rdp0004 at auburn.edu
Mon Mar 3 13:44:48 EST 2008
Thanks a lot, Mike!
It's a pretty cool setup.
I'm finally up and running with an OpenILS install
where the OPAC and staff-client run and
authenticate - enough to let some people
see what it looks like. I've got a couple
more questions if you or anyone else can help.
*. Is it possible to connect to the gapines demo system
with the staff client ?
http://demo.gapines.org/
If so, would you setup the version-link so that the
download-and-run Windows staff-client
version will talk with the server ?
http://open-ils.org/downloads/evergreen-setup-v100rc2.exe
It would be nice to be able to tell people to just download
that staff-client build, point it at demo.gapines.org, and play
around.
*. I know one thing people are concerned about here when evaluating
the Evergreen ILS is the lack of acquisitions and serials modules.
I read someplace that there was a project afoot to address that -
is there likely to be acquisitions/serials support in
Open-ILS in the near future ?
Thanks again,
Reuben
>>> "Mike Rylander" <mrylander at gmail.com> 2/29/2008 7:41 PM >>>
On Fri, Feb 29, 2008 at 10:43 AM, Reuben Pasquini <rdp0004 at auburn.edu>
wrote:
> Hello!
>
> I'm installing Evergreen-ILS-1.2.1.4/OpenSRF-0.9,
> and in the process trying to get a grip on how the software is put
> together.
> The following is what I came up with so far - can someone verify if
> this
> is right, or straighten me out if it's wrong ?
>
> *. Evergreen-OpenILs consists of several OpenSrf modules
> (separate applications that plug into an OpenSrf setup
> to communicate with each other)
> and a shared postgres database.
RIght on.
>
> *. OpenSRF is a distributed computing framework characterized by:
>
> o. The use of a central jabber server to manage communication
One or more jabber servers, but, yes. You can configure multiple
jabber domains for access separation, and you can load-balance the
jabber servers in one domain. Then, there's an OpenSRF Router per
jabber domain, with which the services (that you mention below)
register -- services can register with multiple Routers on separate
domains.
> o. WSDL/SOAP-like procedure-call mechanisms where a component
> publishes its interface with OpenSRF via an XML-spec,
> and remote-procedure call is implemented via exchange
> of XML messages via jabber.
>
Well, there are several interfaces.
- The native transport is JSON-over-XMPP (jabber) -- all OpenSRF-level
messages are JSON encoded, and wrapped in Jabber XML
- A ReST-ish HTTP gateway which can consume and produce both JSON and
XML -- this is not OpenSRF proper, but rather a Web Service like
translation
- An XML-RPC gateway built on top of the RPC::XML Perl module
- A true port of the OpenSRF message passing syntax from XMPP to HTTP,
based on the spec I put together here(1). Bill Erickson has created
a Python reference implementation.
Then there are the client flavors. There's a new JavaScript package
for interacting with the OpenSRF-over-HTTP translator, as well as the
existing JSON gateway JavaScript package. There are XMPP client
libraries for JavaScript (only supported in Mozilla as an extension),
Perl, Python, C and Java, as well as support for any language with
XML-RPC bindings.
One other interesting feature is the introspection API. Whenever a
method is registered, an entry in an introspection table is created
within the OpenSRF server. Using the XML gateway and some XSLT, we've
built a simple web app for exploring the in-line documentation from a
running instance of the OpenSRF application. You can check that out
here(2).
I hope that helps shed some more light on how these things work
together, and please don't hesitate if you have any more questions.
(1) http://open-ils.org/dokuwiki/doku.php?id=opensrf_over_http
(2)
http://dev.gapines.org/opac/extras/docgen.xsl?service=open-ils.actor&all=on&offset=0&limit=25
--
Mike Rylander
| VP, Research and Design
| Equinox Software, Inc. / The Evergreen Experts
| phone: 1-877-OPEN-ILS (673-6457)
| email: miker at esilibrary.com
| web: http://www.esilibrary.com
More information about the Open-ils-dev
mailing list