Email address obfuscation in effect -- please
click here to turn it off.
[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
- To: MLUG Off-Topic Discussion <EMAIL:PROTECTED>
- Subject: [MLUG - DISCUSSION] What I'm doing.
- From: Michael <EMAIL:PROTECTED>
- Date: Thu, 04 Oct 2007 20:48:17 -0600
- Delivery-date: Thu, 04 Oct 2007 21:48:36 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:content-type:content-transfer-encoding:sender; bh=TT/mzBXhDBVl/c8505dBOjMoCfpN4uwspGUhWlqwLGQ=; b=H4GbyQF22G49j/ZJqBHQCcOT83kZMfYVh6TbJYTKpxgHs0nQoc/L2sW5L3lMEiesP10isrqB9UOmMOyStJj7NI62JZJtr22rJaMfkpWUff7H+TnmCS43SONqDOfs7m1o8bnJllyu2+LVefwQ7X2jj7KEz/znjQZpn76LiU1l1Ak=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:content-type:content-transfer-encoding:sender; b=Th7+H4v1uh0m4NzNL2dP96ROn7uS2zP8FCP6peZ9nTeEGFfpLJ0EE6RiZACnn+hWcXVvCHQRH29ZwuAemHNOhOx81e8y2Qs5cfBToBzaBb5DXdodCTIToSYZUCEtJpe8AuNd+65Lq91jU/c/ezTBtEeh/EbFBkzxyaZlohAQMe8=
- Envelope-to: EMAIL:PROTECTED
- Reply-to: MLUG Off-Topic Discussion <EMAIL:PROTECTED>
- Sender: EMAIL:PROTECTED
- User-agent: Thunderbird 1.5.0.12 (X11/20070530)
In case anyone has wondered why I've been mostly silent for the past
couple months it's because I've been designing and building a new
website (big surprise), PlumbersStock [http://www.plumbersstock.com/],
to sell plumbing and HVACR supplies online. This has been an interesting
project because it's built on top of Activant Eclipse
[http://distribution.activant.com/eclipse/] (until recently Intuit
Eclipse) which my company uses for inventory management, customer
management, etc.
Eclipse is a pretty commonly used enterprise application and it does
what it was designed for well. However, it's Internet support sucks.
When I started my job at this company they'd just sunk around $10k to
buy a supposed out-of-the-box add-on, Web Order Entry, to provide a
web-based eCommerce solution. It sucked. It sucked so bad we effectively
decided to just toss it and try something else. So for another $10k they
have another add-on, Web Integration (formally IDMS-XML), that is
supposed to expose the inner workings of Eclipse through their own
XML-based interface. Turns out that WI doesn't actual expose everything
Eclipse can do, it's slow, it is poorly documented, it is poorly
understood by Eclipse's, expensive, support staff and to top it off it's
kind of buggy. So it's been a long and interesting journey building a
website that uses Eclipse w/ Web Integration for it's back-end.
To begin with Web Integration's XML-syntax, IDMS, is it's own,
somewhat-twisted, beast so I wrapped it in a web service that exposes
all the commands as XML-RPC over HTTP. This way I can tap into the
system from any programming language that supports XML-RPC without
needing to write, and maintain, a compatibility library. This project
alone was somewhat huge in that WI uses large and complex bits of XML to
communicate and since the documentation wasn't very detailed, and
sometimes wrong, required a lot of trial and error to work out. Finally,
I've got it tamed but will need to refactor the code to make it easier
to maintain and as I continue to make use of WI I'll probably find, and
fix, bugs.
Then once you can actually use Web Integration the fun really begins
because it's commands have almost no documentation as to what they do or
how to properly use them. They have lots of different types of id's that
do various different things but they are documented either. Often the
documentation expects you to just know internal codes and such from
Eclipse but it doesn't tell you what these codes are or how to look them
up. Sometimes you'll be killing yourself trying to do something and
finally someone from support will talk to the programming department and
find out that such and such functionality does exist but just isn't
documented. Other times you expect this to be the case but the
functionality really doesn't exist - obvious things like calculating
what an orders tax or shipping will be .
All-in-all working with Eclipse Web Integration can drive you slightly
mad. I definitely expect more from an add-on I spent $10,000 on.
Especially since Eclipse itself cost a heck of a lot more than that.
It's finally starting to come together though.
Eclipse isn't the only layer that communicates by XML-RPC. The website
is broke up into logical components that are each exposed with XML-RPC.
All database calls are wrapped neatly in XML-RPC - there is no remote
access to the database other than through these exposed functions. The
middleware is all exposed by XML-RPC. This includes application logic,
other than UI logic, as well as the Eclipse system, systems for
communicating with UPS, FedEx, etc to calculate shipping, etc.
Everything is exposed and separated in the same way so the logic is
always clean.
The cheese gave a few examples of websites he liked the look of. One was
NewEgg [http://www.newegg.com/] which I kind of borrowed the look from
although it's changed a lot. I went with a look I call exaggerated
geometry which basically means it has a realistic but slightly
cartoonish look. I did almost all the original graphics myself using
GIMP and then have had my graphic artist redoing them in Illustrator to
make it easier to tweak colors and to have smoother edges. Product
photos I have the graphic artist working on making so they'll all look
3Dish and seem to be popping off the page (in the meantime we have old
flat pics from the WOE system). We're also planning on running a comic
strip on the site just to add visual interest and the graphic artist
draws it by hand and paints it in Photoshop. PlumbersStock, like the
other websites I've made for this company, will also respond to holidays
by changing to a themed look. In theory, all this works in Firefox, IE6,
IE7, Safari, and Opera although there is a minor bug I know I need to
fix to make it work perfectly in Safari, Opera, and Firefox 3. There are
probably more glitches I'll find along the way but I make an effort to
test in all those platforms.
The next big project with PlumbersStock, along with minor feature
additions and fixes, is going to be the search engine optimization and
marketing of the website. Already the site keeps it's product database
posted to Froogle, will let you add it as a search engine to Google
Toolbar, and will let you add it as a search method to Firefox and any
other browser that supports OpenSearch. I'm working on making OpenSearch
work with Amazon A9 - it should work now but for some reason Amazon
isn't happy with the RSS search capability. Using the same RSS feeds I
plan to make it so that once you've searched for anything on
PlumbersStock you can subscribe to that RSS feed to keep track of those
products. I may expose other bits of data by RSS such as allowing the
customer to watch their current order progress - that way they won't
need to keep manually tracking packages etc.
Meanwhile, we dumped most of the old Windows servers and implemented a
powerful dual quad-core Xeon Linux server running VMWare with several
Linux servers, a couple Windows servers, and even a FreeNAS server
running in virtualization. The one Windows server we have left runs the
actual Eclipse system and is horribly slow and prone to problems. We're
working on the project to move Eclipse over to an AIX machine.
Gradually, we're getting rid of Windows and all new systems are Unix or
Linux. We've added a KVM-over-IP for the servers so that we can get in
and have complete access even if the systems aren't booting, we have
remote reboot, and we have remote temperature tracking of the server
room. If any system goes down it will send my personal email account a
message notifying me and I'm working on getting a company phone so it
can SMS me.
PlumbersStock isn't our only website either. We have four other Internet
websites, two of which are WOE systems, and a Intranet website too. More
websites are planned in the not-to-distand future too. Along with
designing, helping build, helping maintain these servers and network,
being a system admin for Linux, Unix, and Windows, database admin,
programmer, web designer, etc I also get to manage a couple employees
and am responsible for handling customer email and phone calls, making
sure packages are sent properly, etc. Just a little busy. I'm thinking
of releasing some of the code I created to integrate with Eclipse as
open source and writing some documentation for working with Eclipse.
I've half considered writing some sort of book and trying to sell it
since existing documentation is so poor and if someone is going to spend
$10,000 for the software maybe they'd spend $100 for a book that tells
them how to use it. I'll probably just end up posting the documentation
online though as I don't really want to hassle trying to sell a book.
Okay. So that's what I've been working on lately. Not counting my
personal projects.
_______________________________________________
discussion mailing list
EMAIL:PROTECTED
http://mlug.missouri.edu/mailman/listinfo/discussion