WWDC2003 Session 627

Transcript

Kind: captions
Language: en
my name is plum go again I'm the
director of server software here at
Apple in worldwide product marketing and
I just want to welcome you all to this
session I'm only here briefly basically
what we wanted to do was to provide all
of you with essentially the the view or
the perspective of third parties doing
projects enterprise oriented projects on
Mac OS 10 and mac OS x server and to
give you that sort of perspective on on
what we're trying to do here so i'm
going to introduce a couple of gentlemen
in a moment and we'll talk about a
little bit about what they've been doing
and then they're going to spend the bulk
of this time talking to you about what
they've done on mac OS 10 and mac OS 10
server so enterprise applications in a
heterogeneous environment that's just
too many syllables for me at this point
on the line in a day so we'll just skip
through this one really quickly so on
our agenda today is going to be Infosys
and they're going to talk about
enterprise IT architecture they've got
some customer scenarios and some great
examples of things that they've done
some really good information around best
practices working with the products and
and what they're doing and from emphasis
and I'm going to read from my notes here
because I'm I want to get this right and
I'm never great with names so we have
omelets f and vomit is the senior
technical architect at infosys and he's
done a number of IT integration projects
and how much going to come up here in a
moment and talk to you about what he's
done and and how he's done it and show
you in depth on how all of that how he's
pulled all that together following on it
we have steve olson from sybase and I've
known Steve for a while actually once we
started going down the Mac os10 server
right it got talking to him about
bringing five aces enterprise-class
database server over onto Mac OH
and server and and it's been a great
relationship he's the technical director
at sybase for sybase engineering and
Steve actually was in charge of the
sybase port to Mac os10 server and and
if you followed what sybase is done they
literally are in some ways they're
driving us they've pushed us to do
things that I think would be of interest
to a lot of developers and a lot of IT
people who are looking at using the
platform for example sybase has really
done a lot of innovation around the
management console and and it's taking
advantages of some of the api's that
we're starting to make available in the
management console for third parties to
plug in their information into the
management console into server admin so
take a look at what they've done it's
really exciting stuff they've helped
push us in the number of other
directions as well in terms of really
you know helping us to make mac OS x
server really lock when it comes to
databases and we've got some new
technology going into Panther server
things that of course people will
generally just skip over very quickly
and something like a keynote but they're
great interest of people like me things
like a sink io going into Panther server
which will really really help with
database performance so first we're
going to have comets F come up and talk
to you about emphasis and what they're
doing there and then speeds going to
come up and talk to you about sybase and
and after that there should be a little
bit of time for Q&A and let me just make
sure I click this it's kind of
interesting what you'll learn in this
session and I was like but they put
these slides in here but basically what
we want you to get out of this is we
want you to have a chance to take a look
at you know what third parties are doing
what people are doing with large
enterprise class applications on the
platform how they're doing it how
they're doing it to meet the needs of
your typical mixed client mix server
enterprise environment how they're
deploying and using our technologies to
do that so I hope you take away a lot of
that good information and get some great
ideas about what you can do with your
products and
you can do inside of your environment so
without further ado I'd like you all to
provide a nice warm welcome to Elmet set
oh hi I'm Alma said representing infosys
technologies emphasis is a leading
systems integrator with more than 15,000
employees in the last few years Apple
has been coming up with some really
exciting products in the enterprise
state the X of support for open source
software the OS 10 server version this
has really got us excited and we have
been developing some solutions for the
using the Apple technologies which we
wanted to share with you today in
today's session on enterprise
applications in heterogeneous
environment I'll be talking about from a
system integrators perspective what does
an enterprise IT architecture look like
what are the main components of this
architecture and I'll use some examples
of applications that we developed for
each of these components to showcase how
we leverage Apple's technologies in an
enterprise heterogeneous environment to
provide solutions for some common
business problems a few words about
emphasis
we are more than we have more than
15,000 employees more than 370 clients
35 offices in 15 countries and we are
still growing we pioneered the global
delivery model and we have our greatest
strength has been our ability to deliver
project ninety-five percent of the
projects that we have delivered have
been on time on budget or better we are
financially a very very strong company a
financial strength has been growing year
over year last year we closed our fiscal
year with net revenues over 750 million
dollars we have cash reserves of over
235 million we have bought we have
partnered with some of the leading some
of the industry leaders and most of the
most of our clients are in the fortune
500 fortune thousand companies
let's move on to what is our perspective
of an enterprise IT architecture a
slightly late on a Friday evening I want
to inject some life into this providing
some real good insights into why we are
dividing this into these kinds of
components so when we look at it we are
essentially looking at some eight
different categories in an enterprise IT
architecture these categories are the
thick client category the business
components business components are the
reusable components which can be shared
across multiple applications client
access services which include the
application servers streaming servers
web servers and these are this is
essentially the layer between the client
and the server application security
services these determine the
authentication the security the user
profiles enterprise AP is the
programmable interfaces which allow data
to be shared across multiple
applications within an enterprise or
over the Internet bus services allow
computing in a distributed computing
environment include the domain name
services directory services coba com
iiop operating system provided services
which essentially include input/output
services and network services and the
last category is the server hardware
platform itself which includes the
processor hardware for the server
so these were the eight categories that
I spoke to you about let's move on to
our first category that is client
solutions now in each of those eight
categories that I was talking to you
about in this session will touch upon
some six of those categories I'll be
talking to you about a common business
problem in each of this category a
solution which we develop leveraging
apples technologies to address that
problem and how we were able to
integrate that solution with other
technologies driving the other
components in that IT architecture so
client solutions are deal with the user
interface and include considerations
like transactions and securities they
include distribution and deployment of
software things like the transaction
model support for sale transactions
confirma tea with the existing IT
infrastructure and strategy for
development and deployment and
distribution are important when we when
we need to consider solutions in the
space
let's take a look at the implementation
scenario for a particular solution that
we developed in this space the
application is a mobile sales
application what was the customer
situation in this case the customer
situation was that they has field sales
representatives who already had apples
or books there were they did not have
any kind of an integration with a
central CRM package which was on a
different platform which had a different
technology they did not have an
application to integrate from their
power books to the central CRM database
and the client was losing business they
were at a decision point whether we need
to go in and buy a market via products
on the market and go in a replace our
Apple power books and provide people
with the laptops based on other
technologies or to continue with them
with their carrying the apples for power
books and develop some kind of a
solution which allows them to leverage
the central CRM database that already
exists within the organization we
identified the business drivers for the
solution that needs to be developed in
this case as an application that can
allow better collaboration between the
sales teams and which essentially allows
that the solution that the sales
representatives are going to use to
integrate data with a central CRM
enabling better reporting better
decision-making for the senior
management
the solution that we propose was an
offline solution that can run on a
Macintosh because these are field sales
people they are moving around and the
ability for this solution to integrate
with the central CRM database why did we
go in for apples the biggest driver they
already had apples / books also
objective-c and co qua allowed us to
rapidly develop an application to be
used by the sales representatives in
this company we developed a complete
creteil solution to run on their power
book we had a client built of
objective-c and Coco Pope we are using
objective-c a server custom server
written in java and we took an open
source database that is posed gris
sequel database and installed it on
their machines then we rode some custom
classes to allow them to allow this
local server the local Java server
running on their machines to exchange
data over socket connections with a
server running against the central CRM
database this essentially allowed data
synchronization between their local
databases and the central CRM database
let's look at the details of the
technical implementation so what you see
on this side is what was already
existing this was their central CRM
database hosted in a data center within
their organization what we developed was
a three-tiered solution
the were looking at the choice of
databases of the client wanted a
cost-effective way to install database
it was a database to be used for a
single person on a powerbook and we
looked at the open source databases that
were available the two databases that we
zeroed in on were my sequel and poor
scree sequence we selected hose grease
equal based upon the fact that it had
better support for transactions you
could do roll back could write functions
and at the time when we developed the
solution polski sequel was the only
database that were open source database
which was truly a Unicode compatible
when we compared my sequel to this my
sequel at that time you could have a
Japanese version you could have a
Western European version but nothing
which allowed you to support everything
I believe the latest version of my
sequel has does the support Unicode so
this was our implementation the server
was communicating with a server within
the data center and that server was
essentially dealing with the database
for sending in transactions against the
database the solution enabled us to
prove that on an OS 10 powerbook you can
essentially have all the three
components required for an application
the client the server and the database
all running together and it's been a
stable application it's been one of our
good implementations
let's move on to our second category
that's the business component when we
talk about the business components we
are talking about reusable components
which can be shared across multiple
applications the when we talk about
components that can be shared across
multiple applications the things the
major considerations in this case are
what kind of functions and services do
these components offer what kind of
interfaces are available those have to
be standard interfaces to be implemented
across applications and the development
and deployment of these components have
to be independent of the applications
with which they are being linked with
let's take a look at a typical
implementation scenario for this
component the implementation scenario
for this component is an automated fax
integrated application it's a very easy
solution a very simple solution but
resolved a big business problem when we
came in we saw that the customer
situation was it was a large
organization with a lot of employees at
different geographic locations who
essentially used to submit their expense
bills for reimbursements they had to
fill in a form which was being driven by
an application they used to fill in i
spent so many dollars in traveling i
spent so many dollars in food spend so
many dollars and business expenses
submit that form
and then the original bills had to be
mailed to a back office where someone
used to look at those bills related to
who submitted it check mark on that form
yes this is correct and then approve the
request this was a manual resource
intensive process in that organization
and force becoming a big overhead for
them so they were essentially looking
around for a solution that allows them
to automate this task the solution that
we proposed was the electronic
submission of bills along with their
expense detail what made us select Apple
in this case what way to select Apple in
this case was one it was a low-cost
solution it was easy to monitor and
maintain and it was extremely easy to
integrate this in the existing
infrastructure we will take a look into
the technical details of how we did this
what we did was we took the open source
package efax compiled it on Weston we
also took imagemagick compiled that on
Weston actually Weston's versions are
already available on the net for
imagemagick efax allows us to receive
fax messages the process that we defined
was that an employee prints out the
extensible form from there from whatever
they submitted that expense will form
has a bar code printed on top of it
they then take the original bills and
this form and fax all of them together
that fact is received by the electronics
the efax and it uses imagemagick to
convert that if files to achieve format
the tip to Jeff conversion was required
for a barcode reader which they already
had within their organization or
software which could essentially read
the barcodes and then we wrote a small
custom component which allowed us to
submit those forms against those those
electronic bills the copies of those
electronic bills against the actual form
within the application now normally this
kind of a solution would have entailed
going in for a small for for a small
server for a small for a small
application it probably I mean we
couldn't initially visualize why would
they require a really scalable solution
in this case and the reason that was
provided to us false that this is not
the only place where we require a way to
electronically associate original
documents with our forms in the
applications we also require this for a
number of other things they said there
are certificates which need to be
submitted with resumes they came up with
a few other things where they were
submitting copies of the original
documents electronic they wanted those
to be submitted electronically and this
solution allowed us to do that because
essentially that barcode that we were
printing on it was a tag which allowed
us to route it to any kind of an
application to associate it anywhere we
implemented it for one application but
we left the architecture open for
them to go in and implement it later on
with any other application that they
want to do again in this case the only
component that we brought in was an
xserve with the electronic fax
imagemagick installed on it and just
plugged it into their existing IT
architecture let's move on to a third
component that's the client access
services client actual services are
essentially the layer between the client
and the server the common
implementations like web servers
streaming servers enterprise application
servers where it's an enterprise
application servers but with the trend
that's going on in the industry it may
change to enterprise java application
servers it still not enterprise java
application servers to the common the
thing the common threads between all
these are scalability reliability
ability to adapt to standards these are
the common considerations that have to
be thought of when thinking of a
solution in this space let's take a look
at a an implementation scenario where we
went in and implemented a solution in
this category
what was the client situation in this
case the client situation was that the
client had a very very big it was a big
corporation they had more than 10,000
employees and they had a central human
resources application that could be used
to buy their employees on their
workstations to do all the HR related
things writing reviews managers used to
write reviews employees used to submit
their leave applications the all all the
that that was essentially the central HR
application within that organization and
they had a problem that because this was
based on the workstation employees could
not use it while they were traveling or
while they were they did not have access
to the workstations in their offices so
they wanted a way to access this
information anytime anywhere which
essentially pointed out to us that we
need to develop a solution which is
web-based also another driver in this
case like in any organization where we
go was this has to be a cost-effective
solution so we we thought that we need
to reuse as many components as are
possible from the existing application
now one thing that was that that was
unique about this particular HR
application was that they had they had
been using a lot of custom code in the
database so it did not allow you to go
in and build something on top of the
database directly so
could not go in and build a web
application and go in an interface with
the database directly that was that was
an issue in this case and that is why
the problem was not as simple as just
writing a simple web interface to a
database why did we go in for apple in
this case we went in for apples
technologies was because web objects on
Weston provides us with an excellent
platform to go in and build web based
applications it's also a very cost
effective way and allows us to develop
applications very rapidly the
architecture that we implemented and the
solution that we provided allowed us to
reuse most of the existing components
within this application this is what we
did so on your right side you are
looking at there the way the application
used to exist within their environment
they had a enterprise HR database and
they had their custom server which was
interfacing with this database the
custom server did have some did have API
is defined to go in and access data but
that was it I mean you couldn't do too
much going in directly against the
database so what did we build what did
we do in this case we essentially wrote
a small custom layer our own framework
which we compiled with the web objects
code which allowed us to interface with
those ap is
and provided a layer between the custom
server and the web object server so the
web object server was communicating with
the custom server in this environment
this allowed us to leverage the existing
application was a very we could develop
this really fast and it allowed us to
build a very cost-effective solution we
deployed the entire thing on an ex of a
single X of and the solution is being
used as and when the employees in this
company travel outside as and when the
employees want to access it from the web
more more than 10,000 employees are
using this kind of a solution let's move
on to our next category that is
enterprise API is now enterprise API is
our interfaces which essentially allow
data sharing between applications in the
same organization or over the Internet
the major considerations when we have to
go in and provide a solution using
enterprise API is our we have to
consider object persistence we have to
consider the transaction services
transaction services is essentially the
core the data access models and the data
distribution services let's take a look
at a common implementation scenario in
this space
the application that we developed in
this space was a call center application
the client situation when we went in was
that the client was losing business
because of the lack of a call center
solution the current way in which they
were tracking calls was they used to
receive calls they had a very very
rudimentary way of going in and entering
it into a database they did have some
they did have a proper database but the
way they were using that database was in
a very very rudimentary fashion they and
it initially started with the clan being
a small-time company and they grew up
rapidly in the space of a few years so
the model that they use initially just
could not scale up to the kind of
requirements that they had in a few
years time the business problem that
they were facing was that they were
losing customers because of their
inability to respond back to their calls
on time and they wanted to address this
the solution that we proposed was a
low-cost solution with an ability to
support high transaction volumes that
were required the ability to scale up
even further as this company grew up and
the ability for this solution to
integrate with multiple data sources why
did we think Apple is the best solution
in this case Apple was the best solution
in this case because it provided us with
a server optimized version of Java a
low-cost enterprise application
deployment alternative with xserve
Western server and with jboss compiled
on that support for open source
technologies like jboss we're
essentially the the deciding factors in
moving towards this kind of a solution
let's take a look at the implementation
of how we went in and what we did so on
the right side you are looking at what
is colored in orange is your existing
components that were already existing
within this enterprise these were the
database with data inside it which was
still meaningful but just that it was
not it could not really be used or it
could not really be leveraged off given
their current solution and they had some
reporting applications on windows which
used to go in directly against that
database to
come up with some kinds of reports again
they're reporting requirements had grown
over time and they they were trying to
figure out how to enhance their
reporting solutions to come up with to
come up with a model where they can have
better reporting and better call
tracking and allowing the management to
take speedy decisions so on your left
side is what we're looking at the
solution that we implemented what we
implemented was we took some ebay ejb
components pre-built ejb components open
source components which are available we
wrote some of our own use jboss on
weston to host these are custom
components allowed us interfacing with
the current reporting applications
whatever they had it also interfaced
with the base we wrote some more
components to provide interfaces for
even more reporting applications as were
being required and made the entire
solution such that it could scale up
with the growth of this company so
essentially putting in this kind of a
middle layer of ejb components on an
excerpt allowed us to use of the
existing reporting applications the
existing database and provide a solution
in this environment
I will move on to our next category
which is operating system services
operating system services are a set of
services in an IT environment which from
our perspective hold solutions in the
storage and in the distributed computing
environment space storage false also
under the server platform stage but in
our classification we've classified it
under the operating system services
space the major considerations that we
have solutions providers have when we
start looking at solutions in this space
r is the is the solution really
interoperable interoperability is a key
in this component what kind of
scalability does the solution offer what
kind of performance does the solution
offer what kind of a security is offered
by said the solution that we have to
develop in the slip let's take a look at
a typical implementation scenario in
this case
we had this organization where there
were multiple clients on different
platforms they wanted to share files
across platforms and these were large
size files this is a very large size
file this was a geographically dispersed
organization with offices in multiple
countries across the globe
considerations like sending files over
wide area network repeatedly was an
issue or resource range a drainage issue
considerations like the ability to make
the last size files available to the
person's on time were a big issue they
also wanted a low-cost file storage
solution along with it because the files
that were being essentially the solution
that they were looking for was I put the
file in your system there are a set of
business rules the file gets stored and
it also gets distributed to multiple
locations wherever the other users are
who have subscribed to this kind of a
file the subscription is being
determined by the business rules which
are built into the application so let's
take a look at the implementation
scenario in this case the solution that
we proposed was a low-cost storage
solution the client also had an issue
with insufficient rack space in their
data center so the solution that he
proposed was a rackspace friendly
solution and we provided a solution that
could be dovetailed with their existing
IT infrastructure why did we think apple
is the best solution in this case
with Mac os10 server with my questions
with question server essentially allows
you to support multiple kinds of files
protocols also xserve provides the
lowest cost storage in the industry and
that is on the disk on the server disk
and the fact that xserve is also one of
the most tax-friendly servers in the one
you category so what did we develop our
technology implementation in this case
was we essentially went in and installed
Xers add those multiple locations the
initial solution that we provided we
actually provided the solution in two
phases the initial solution that we
provided was to go in and install excels
at multiple locations we allowed the
current workstations to share to to
actually go in and do NFS mounts from
the excerpts and add in files this was
done because in the first solution that
they wanted and the initial solution
that they wanted was essentially to
leverage I had to be built in a very
quick time frame in in a really tight on
really tight deadlines the but what was
common to the solution was that it
allowed files to be stored to be
transferred between these multiple xers
over tcp/ip protocols over socket
connections so based upon the business
rule files were transferred from one
serve to the other what this allowed was
one it's only a large size file only had
to make one trip over the wide area
network to cater to as many downloads as
I required by the users at a particular
location too it allowed storage of files
at each of these locations and also the
fact that downloads from the local
servers were always faster has compared
to downloads over the wide area network
the second phase of the solution we did
away with the NSS mounting of that
because that was not a scalable model
that that was a temporary solution that
we have to provide and then that is when
we went in for essentially a small layer
which could be installed on each of
these clients as add the file layer
which which interacted with a custom
server that we wrote running on these
excerpts where over the socket
connections we were sending in for the
files byte by byte which could be stored
on the exurbs and good and and were then
being distributed in this kind of an
environment so this is one solution
where we essentially leverage the
low-cost storage provided by Excel and
the exurbs ability to be installed as a
rack ceased server in their data centers
let's take a look at some of our best
practices when we go in and implement
solutions like any systems integrator we
are strongly focused on using tools are
best practices that we have got a
dedicated team which just works on
identifying tools purchasing tools if
those are available and for building our
own tools we have developed some very
good tools internally as well tools
which allow us to essentially go in and
tools built over Java's debugging
frameworks which allow us and to do a
lot of debugging of whether java
application tools which allow us to do a
distribution of software on macintosh
there are times when there are some
challenges we have developed some tools
which allow us to do that we also have
well defined processes and methodologies
for software delivery when we talk about
software delivery we essentially have
processes falling into three different
categories these categories are whether
it is a custom system integration
whether it's a solutions systems
integration or is this an infrastructure
systems integration these are the three
main categories and are our processes
they first slightly for each one of
these what is common to all our
processes and the core whole set of
processes that we have developed around
all these three are pertaining to
technology change management
technology change management is
implemented in three stages the planning
stage the analysis stage and the
deployment stage in the planning stage
we go in we study just as I was
presenting we go in and we study what is
the solution that is required what are
the business rivals for the solution
what kind of a cost cost limit is there
to the solution that needs to be
provided what are the different
parameters like scalability etcetera
that have to be considered to use the
solution we then move into the
evaluation phase where we start
evaluating the different solutions
against these parameters that we have
collected do we need to go in for some
kind of a prebuilt package pre-built
software so we have to go in and develop
a customized solution can we just modify
the existing solutions that already hits
us in an interface to resolve most of
the common problems that are surfacing
today and then the last stage is the
deployment stage where we start
considering things like how maintainable
will this solution be how easily
deployable is this solution what are the
kind of training requirements that will
be required that will be required in
this case can we plug in this kind of a
solution into the existing enterprise
architecture so those are some of our
common considerations and are the best
practices we have built our best
practices around these to really find on
these processes Thanks
[Applause]
see
okay my name is steve olson i'm a
director of engineering at sybase and
promise you i won't be talking about
oracle on solaris or oracle on AIX i'll
be talking about sybase on mac OS 10 and
before i do that i'd like to ask you is
anybody here a current sybase customers
right now that's pretty much what i
thought we decided last year to move our
product line some of it into the mac OS
10 environment and we realized that we
are strangers to the apple community the
community of Apple users we live in
different worlds or have been so I
thought we'd take a few moments here to
introduce a little bit about what side
AC is and then after a couple of minutes
to talk about our database software that
we moved over to the platform it made me
put these slides in here so who are we
sybase started in nineteen eighty-four
about the same time of the Super Bowl
commercial that Apple produced and since
then we have expanded we the first few
customers that we had were in Wall
Street Wall Street folks needed an
online transaction processing engine
that would handle stock trades and
they've stuck with sybase through all
these years and right now about sixty
percent of stock trades in Wall Street
etrade and others are processed through
sybase servers we have a very strong
presence in the financial services
community banks and so forth healthcare
telecommunications and both state and
local governments as well as federal
governments are also strong customers of
ours so the point I'd like to make here
is that the same code line this code
that is evolved since approximately
nineteen eighty-four is what we moved
over to the Mac the same code that is
used by our most demanding customers
what we've done is not provided you with
sybase life it's a it's an
industrial-strength online transaction
processing engine for Mac OS 10 and our
software is localized for all of the
major languages
of the world so we've deployed in just
about every country on the planet what's
available today is our adaptive server
enterprise version 12 503 just this week
we've announced the availability of
adaptive server anywhere version 8
something and a number of api's JDBC
odbc and our open client API s and our
open server product that's available
right now most of this is available as a
free download for a developer edition
download from our website at sybase com
/ mac later this year we will be
releasing our replication server and for
those of you who may know not may not
know what that is think I think for
business it's basically bi-directional
synchronization between databases that
may be either Enterprise databases
laptop databases or Palm Pilot databases
and also the adaptive server enterprise
12 51 will be available later this year
we are tying that to the availability of
Panthers so although we will be ready in
approximately September we're not sure
exactly yet when Panther will be
available so whenever that happened
whichever comes first i guess and then
also later on their adaptive server
anywhere version 9 will be generally
available on mac OS 10 ase was first
released in 1987 optimized for online
transaction processing and we licensed
get to microsoft in 1988 microsoft took
the the source code the whole package
and for a long time marketed as the
microsoft sequel server and then we
parted company with microsoft
approximately 1997 and since then our
two product lines have evolved in
different directions they even got our
name they have very good lawyers and
it's what all I can say about that but
anyway
we now call our product the adopting
server enterprise but because of this
common heritage there still remains a
very high degree of compatibility
between the two so applications
generally written for a sequel server
should have little problem maybe some
but because of the evolution of the of
the product lines but there's still a
high degree of compatibility that will
allow you to move your application to
adaptive server enterprise on Mac OS 10
if you might have an interest in getting
rid of the sequel server it's a sequel
database we are sequel 92 compliant an
entry level and we've also got a number
of extensions in the transaxial language
when we decided to do this port to mac
OS 10 we took a long hard look at the
unix underneath the covers the first
unix port that we ever did was with sun
OS back in the mid-80s and that was
essentially Berkeley UNIX so what we
found with Mac os10 is an old friend in
a new coat Berkeley UNIX is very very
familiar to us and the engine and the
basic database components themselves
moved over to Berkeley UNIX very very
quickly so we look then at well what
else can we do to tie in more tightly
and integrate with some of the services
provided on the Mac OS 10 platform we
look at rendezvous the SNMP agent open
directory the server monitor itself and
then the install I'm not going to say
much more about the install except that
we use apple's package maker which
provides you a command line install
facility on headless x serves as well as
a nice gooey installation for you know
monitored servers so a little bit about
this architecture we use the engines
depicted here essentially equate to unix
processes engine 0 listens for client
connections and dispatches to some
engine based on load we associate an
engine with a CPU meaning if you've got
a dual cpu system you can configure two
engines each engine is threaded so that
you can allow up to on the mac each
engine can handle about a thousand
connections so a total of about two
thousand users can connect to this
system at the same time if you've got
two CPUs we use a shared memory we look
at memory map files versus the system
5ap is for shared memory and have so far
adopted the men map as the interface to
create the shared memory region so
essentially the environment we found in
Mac OS 10 was something very very
familiar to us and are very compatible
with our prior implementations on UNIX
systems so we're very very pleased about
that and like I said it came together
very quickly within about two months we
were ready for an early adopter program
and within four months we had a general
release available in September of last
year we used rendezvous for a number of
reasons first of all we we wanted the
server to come up and register with
rendezvous so that a discovery client
could recognize where the servers are in
your network or in the case of the
current implementation your sub network
and allow a client to automatically
discover where they were get every bit
of information needed in order to
establish a session with that server so
that's why we did it and it only took
about 10 15 lines of code if you count
the comment is very simple thing for us
to do and we also provide a discovery
program on the it's a cocoa based
application that uses a rendezvous
discovery api's and allows us to take a
look at all of these servers running in
a network so and this this screen shot
came from our QA lab and we have both
the the database server itself plus some
auxiliary servers that we use for backup
and and other purposes so they are all
rendezvous enabled and the discovery
tool allows us to take a look at
everything that's running in the server
and in this model of or in the
screenshot of the highlighted server
here has its hostname and port number
showing up in the upper left corner and
you type in a name and a password and
and hit the query button and will launch
a query tool that will allow you to
interact with sequel languages and view
the result sets and so forth sort of an
interactive sequel utility that
interactive part is available or will be
available in our 12 51 release in terms
of SNMP does anyone here use SNMP in
your organization at all a few of you
Apple provided an SNMP agent on their
server that came from net-snmp which is
another open source project the version
provided with Jaguar was net-snmp
version for dot something and we found
that it had some problems with the agent
X protocol the agent X protocol is a
means by which you can extend the SNMP
master agent so we have taken that model
and provided our own SNMP sub-agent that
allows us to monitor and view what's
going on with the various servers that
we provide our adaptive server database
backup servers and so forth and so if
you have an SNMP console from HP
openview BMC patrol tivoli or see a
product you can view what's going on in
the database and also the server state
changes generate traps so if you have a
trap handling enabled in your in your
console you can be notified and
configure it to be to alert you through
email or paging or whatever you require
when a server might might go down or a
system might might crash so that
facility is enabled we provide version 5
point then it's 51 of the net SNMP agent
and I believe in Panther that's what's
provided in the box so you we won't be
providing our own SNMP agent with our
distribution we provide two mids with
the SNMP sub-agency standard our DBMS
mid and then we have a sybase mail that
extends that
give you a great deal more information
about the state of the running server
this open directory authentication is
new in the 12 51 release but prior to
prior to this implementation when you
log in to our server you provide a name
and a password or if you're using SSL a
name and a certificate and we do the
authentication entirely within our
database so for the most part people use
names and passwords and our database
manages those passwords in our system
catalogs with this implementation you no
longer have to worry about the password
situation we will use a directory native
authentication you via the open
directory API to talk to open directory
and use their authentication services to
authenticate a login now we've learned a
lot in the past week about single
sign-on and kerberos and what Apple's
doing there and we hope that by the time
this is released in the September time
frame that we will able to achieve
single sign-on capabilities but I can't
commit to that right now that's that's
our plan we'll see how it goes does
anybody here use n is for yellow pages
most of you use ldap or any Kerberos
active directory okay monitoring and
configuration Apple has produced a very
interesting monitor or server admin tool
in the Panther it's extensible it
provides a cocoa framework that allows a
client plug-in and a server-side plug-in
to monitor and manage a facility or a
service running on a mac OS x server so
we were able to work with apple and they
provided us with example examples of how
to do that and have provided a monitor
or admin component for this to that
plugs into this tool so with this
component will allow you to start and
stop the the server to backup and
restore databases to reconfigure it and
to monitor the
behavior of a running system through
various graphical reports in this in
this case CPU usage but we also expect
to provide graphs over time of disk i/o
a network I Oh max number of users
connected and so forth basically to let
you track what's going on inside the
server so we're very enthused about this
it's there been a sore point with a lot
of customers because it's been difficult
to get this kind of user interface on
other platforms Apple understands these
interfaces very well and we're very
happy that we're able to take advantage
of the look and feel and the usability
enabled by this tool so this will be
available in our 1251 release and the
title of this session is applications in
a heterogeneous world and I wanted to
just talk for a moment about how the
adaptive server enterprise is able to
coexist with other database systems that
might be in your enterprise we have an
interface within our adaptive server
enterprise called Omni or component
integration services and what it does is
allows you to set up tables we call them
proxy tables which serve the role as
pointers to data that lives elsewhere so
with standard SQL you're able to query
these tables as if they were all local
and they might point to Oracle they
might point to sequel server they might
point to db2 and when I say db2 I mean
the world of IBM which might be on the
mainframe V Sam IMS database and so
forth and of course other side based
servers are configured so if you've got
the sybase else wearing your in your
enterprise you basically have a
federated architecture that allows you
to have a single view of presented to
your client applications replication
server is been a very successful product
of ours this came out was first
available in cooperation with a
significant customer of ours Goldman
Sachs and it allows us to publish
database changes from the adaptive
server enterprise to a subscribing
server
maybe another adaptive server enterprise
maybe Oracle whoever it may be so the
reasons I mean we initially did this
simply to allow customers to distribute
data to aggregate data but lately and i
would say about seventy percent of our
customers now use it for warm standby
you can set it up to basically replicate
an entire database to a warm standby
server so that if your site goes down
for any reason you still have this this
warm stand by the main benefits here
that we're not restricted by geography
we're restricted by the reach of your
LAN or your local area network and we
replicate transactions we don't
replicate any disk files or anything
like that it's transactions that are
replicated so in the failover scenario
for example in a disaster recovery
scenario your clients may find that
they're no longer able to connect to
your your primary site we have
client-side failover built into our
client api's that allow them to be
redirected to a secondary data center
and this this mechanism was used by a
number of our customers who had data
centers in the world trade center in
September 11th and those that chose to
were we're back online in a matter of
minutes I mean they had other things on
their mind that day so it sounds bad
that they were able to get back up
within days but in fact there were human
considerations there more than technical
consideration those that chose to were
able to get back online in a matter of
minute through through this technology
and this has been used by a number of
customers for disaster recovery
scenarios for dealing with unplanned
downtime somebody trips over a power
cable or planned downtime you want to
take your systems down for maintenance
upgrade whatever the case may be in a
warm standby scenario your applications
talk to your primary server replication
is being done for the entire
contents of that server to a standby
server and the replication model is one
of store and forward so the transactions
are changes are stored in a queue on the
replication server and then propagated
to the standby when they're committed we
don't propagate halfways committed
changes only those transactions that are
committed if for some reason the primary
failed client-side failover mechanisms
automatically direct the client to the
secondary site and the rep server is can
be told has to be told to change the
direction of replication and when that
happens to stand by then becomes the
primary and the direction of the
replication is switched and the changes
on the secondary are stored in a queue
until the primary becomes available and
then when the primary does become
available the two are synchronized and
normal operation and can resume so
that's a standard way that the rep
server is used in a lot of customers
situations and basically the the model
here is we have agents for various
source databases that wish to publish
changes and of course we have them for
our own databases but we also provide
these replication agents for Oracle
sequel server db2 and informix and we
have a toolkit if you're interested in
ancient propagating changes from the
mainframe V Sam and others the reps
agent then we'll take these changes cue
them and when the transactions commit
replicate to various targets and that
could be Oracle it could be informix db2
or whatever we provide our own jdbc
drivers it's a type for all Java driver
and we also up for the mac platform we
licensed jdb or an ODBC driver from open
link it's so to be c35 compliant we
provide our own open client api's which
roughly equivalent to Oracle oci
sorry there and we have an open server
an open server is an API library that
allows you to write the server side of
the client open client interface so that
you can provide handlers for language
our pcs and so forth in a server a
threaded server environment essentially
this was built in nineteen ninety
carried forward and it was a precursor
to application service but you can do
everything in C C++ you can get very
high speed performance out of this
server engine a number of tools for
development purposes are available on
this platform and some solutions the
tools that are provided the web objects
plug-in is available Apple engineering
produced a plug-in for WebP objects that
use our JDBC driver and it's been widely
used now or by a number of vendors to
produce solutions we provided have
provided a real basic plug-in for the
real basic product version five dot one
now is available and it has a plug-in
that we provided that been very well
received by the real soft folks runtime
Labs is provided support for our servers
or interfaces using their framework in
which allows you to build use the
interface builder to create database
driven applications it's a very nice
tool blue world and has provided a fe
sport there's a number of additional
third parties that provide tools to
enable you to build either client server
applications or web-based applications
and of course the JDBC driver can be
used in a JBoss environment if you want
to build ejbs that deal with databases
in terms of solutions power easy i'll be
talking about a little bit later and
same with the novi on risk wise was
mentioned earlier this week as a
interesting customer there a credit
bureau and they have over 200 x serves
we have a lot of custom built software
to handle their there a particular
application but it's powered by life
sybase underneath underneath all that
mental where that
built a quad base is a good partner of
ours it provide a reporting solution for
our products the toeless group can be
used to backup to tape from file system
to tape and so when we backup files in
our data or backup databases we write
them to the file system and the total
scoop be ru utility can be used to them
back them up to tape if need be lifetime
is a is another partner and mind rack is
a very interesting web app web content
management partners understand if
there's a person from line graph here
can you stand up maybe not there he is
okay all right so anyway once again
migrating from sequel server to ASC we
provide some tools to make that possible
to migrate both the schema and the data
from sequel server to ase this one tool
is provided by a company called schema
research called it's called sr migrate
and then sybase provides a tool it's
called power designer and it has been
extended with a transfer plugin to allow
you to import the schema from just about
any data source build a data model and
then push that model to a SE with a
transfer plugin you can then take the
data represented by that source server
and transfer it into a fe using our bulk
transfer facilities very high speed so
it's a we make it we're trying to make
it as easy as possible to do this I have
three case studies they'll go through
fairly quickly here power easy in OV on
and schema research power easy has built
an erp application which is all mac OS
10 using sybase and web objects they
provide four packages for e-commerce
logistics financials and sales and a
whole host of reporting facilities using
the quad base services their environment
is basically browser-based the
application is a browser-based
application using
apache web server on the mac OS x server
and web objects and the adaptive server
enterprise they provide the total
package so x serves apache it's a
complete unit plug it in turn it on and
it's ready to go in OB on is a this is
very big title very hard word to
pronounce but what it boils down to is
these folks take pictures of your
eyeball and your retina and analyze them
to detect diabetes and other potential
problems with your eye and their tests
are ninety percent accurate which is is
greater than a physician exam they claim
and it's a very interesting application
the they are it's a start-up operation
they expect to deploy in about five
hundred sites in North America and they
have a workflow agent on each site that
captures the data from a very high
resolution camera and also data that's
keyed in for that particular patient
when the retinal scans are done that
workflow agent transmits through rmi to
a server in in a workflow scenario the
server stores the information on a queue
which is a sybase table or tables and
then a workflow process occurs where
various physicians may review the
information that's presented to them and
add some notes and so forth and then
finally a diagnosis is made through
through a series of steps a highly
innovative application and who knows it
looks like it's going to be able to do
some good so schema research is a
consulting firm they also have some
products i mentioned sr my grade but
they helped us with the implementation
of a facility to assist a manufacturing
operation with the running of their
factory the solution consisted of the
adaptive server enterprise replication
server a raid and AFE mirrors one of the
features of a fe
it will do mirroring as well they very
very highly reliant upon this
application for running their their
factories so downtime is of serious
concern to them and in fact we displace
a the incumbent database was problematic
because it could not guarantee the
degree of uptime required for this
particular application so they're very
pleased about the solution the it's
another web objects application
browser-based using ase is a primary
data store they also have to off-site
standby servers in case of disaster they
also have a warm standby on the same
side in case the particular computer in
which ase is running happens to die and
they also replicate various database
changes in their running site to their
development environment so that their
application developers have some live
data to test with and to implement new
features so this customer is very
pleased with the results they've been
running the factory now for about three
months using this configuration so to
conclude I just wanted to point out that
sybase is committed to this platform the
same software that we've used that our
most demanding customers use to run
their business is now available to you
on Mac OS 10 and we're also focusing on
additional services Apple is providing
this platform to integrate our database
with to give you the greatest level of
integration possible on this platform
we're also working with a number of
third-party tool and application
developers to provide a more complete
solution for you and we are also trying
to make it possible for you to eliminate
any dependence so you might have on
sequel server so you can have an all Mac
solution in your enterprise download is
a developer's edition download is
available from our website at sybase com
/ mac check it out ok you can contact me
any of our
those people Darrell Salas is a systems
consultant michael haynes i believe he's
here is a business developer at sybase i
mentioned the download site all of our
documentation is also online you can you
can go there if we don't we don't
provide hard copy of our manuals with
our CDs for the mac and of course the
rendezvous sm SNMP and open directory
websites are available to you as well
you