Skip to main content
0 online

Face lift of a legacy system

yay by yayOG 2004 · Oct 28, 2004 · 221 views

Programming forum needs some help :) This is more of an ongoing progress journal, but feel free to share your thoughts.

So here at my job I've recently been given the task of revamping our AIX Unix terminal text based medical laboratory information and billing system to a beautiful graphical masterpeice while establishing a layered business model for easier scalability. Am I over my head? Have I agreed to insanity?

Most of our new client systems are:
Pseries IBM Pseries servers
AIX 4.3, usually 5L
PowerPC 1GHZ+
20GB+
1+GB RAM

We do IBM why? Sales partnership = more money. Sadly.
Problem, most of the system is C, but a lot of it is still emulated EDX, which is a real pain.

So I've looked over a couple options. The nice thing is IBM has released a AIX Linux Toolbox to run many linux popular software packages on AIX.

1. CDE/Motif X Windows: Lightweight, simple graphics, but the motif library is ridiculous and not very motivating (hearsay)

2. wxwindows with gtk+ and gnome desktop: GNOME looks great for AIX setups, yet, im thinking this might end up bringing a local network down with 10-30 users all having X sessions, the gtk+ tool kit is a lot more promising, and if I used wxwindows I'd have a fully portable C++ user interface layer (windows, macos, everything)

3. project mono/.NET framework/GTK+/C#: This would be my ideal project. Make a service layer, maybe in C#, build UI on windows, I could compile it to MSIL bytecode and possibly run it on either platform (not sure if this is possible yet)

The goal is to not only make it graphical, but to make our programs more tier oriented, they are too closely coupled together and flexibility is a huge factor. Maybe someday we'll get the DB out of a fixed file format.

To contribute to the discussion, please log in.

39 Comments

B
#11 brotherOG 2004

HAHAHA GO FUUUUUCK YOURSELF ALL YOU ASSHOLE WANNABE COOL JEHOVAH WITNESS FREAKS

B
#10 brotherOG 2004

F U C K Y O U

yay #9 yayOG 2004

A little update on this project..

I got sick of struggling here so I started on a project that eventually ended up being 20 thousand lines worth of code (11k done by me alone). We now have a foundation to at least start writing newer software with. We've already seen a huge benefit in testing, debugging, and some deployment with this 3 tier architecture with one of our latest projects.

Now it's time to build web applications that will make use of this library through web services, making it a 4/5 tier complete project. A site done with .NET C#/ASP will use a web service for communications on the AIX/Unix library with data transfer objects.

This is starting to become one huge heap of design patterns. But it's really interesting how different the project is now then I had originally envisioned.

juicymango #9.1 juicymangoOG 2003

hi you're cute

yay #8 yayOG 2004

Ok so I'm back at a crossroads:

QT is Eh-K. It's tedious, and it's limiting the company in one huge direction, remote interfacing. It's taking long amount of turn around time.

Most of the problem lay in the fact that all of this X-server stuff is so tedious and non robust. 80% of my problem comes down to a printing barrier. It's is now 2005 and we have now XPrint protocol to print directly from screen? Cmon.

So I'm working on getting Suse Linux onto a machine and seeing if mono really is holding up to its acclaims, because IBM servers support Suse Linux and nothing compares to .NET development libraries and the web interfaces.

The OSSversion of Suse was 5 CD download! YIKES

So here's my scenerio thus far:
Suse Linux on an IBM pseries server
Get all the code ported fairly easily to Suse power PC
Install project mono
Install apche with mod_mono
Split our C++/C libraries more into actual libraries
Consume these libraries into .NET unmanaged code
Call from C# code behind pages of the ASP application

iwz #8.1 iwz

Wow, sounds like a pretty big undertaking. Are you behind schedule?

yay #8.1.1 yayOG 2004

I'm learning that anything that makes money is ON schedule.
It's a terrible way to work :(

The thing is, the QT side is still working forward. What I want to do is just show them a sample of what I could do, which would then halt Qt development, and go full force on .NET. But I know, the minute I show them "goto 10.0.0.5/" and they see even 1% of their applications web accessible even with just some garbage web interface they would pass out.

iwz #8.1.1.1 iwz

Did you ever figure out if you could use PHP or Ruby to hook up your C++ libs?

yay yayOG 2004

Not really. It just sounds like that's not where they focus their attention too. And I haven't had time to look into it. That's two huge areas I know nothing about, Ruby, and Rails, then add that with trying to interface with C/C++, that might be a little too much of a learning curve for profit.

And that's why I want .NET, I know it, and I'm comfortable with it, and I've actually got code that consumes older code, which is amazing

iwz iwz

good points. i just usually get scared when people try to get microsoft technologies working with custom libraries on unix systems. don't be scared, though, chris, don't be scared

yay yayOG 2004

yeah. im scared
Only thing pushing me to consider this is that everything is public standard. It's not like novell is trying to reverse engineer .NET. There are certain technologies that MS uses with .NET that aren't published standards, but the parts that are, are hugely beneficial.

EDIT: LOLLERS too

deanh77 deanh77Founder

I don't know what kind of app you're working on, but rails is really for database-driven web applications, pretty much talking directly to the database through a very thin model layer (ActiveRecord, part of Rails) that gets its structure from the database table schema. so if you're trying to web-enable an existing C\C++ library, then rails is definitely NOT the way to go.

yay yayOG 2004

Exactly my thoughts and what I was trying to say, but you said it ina much more concise and intelligent manner

iwz iwz

hey guys, come on, i said Ruby, not Ruby on Rails!

deanh77 deanh77Founder

chris said rails :P

yay yayOG 2004

The C++ library that I have had our team split apart to me more of a library and less of an application is actually our service/bussiness layer. It defines how we serialize data, how it gets processed, etc. You guys know this, but from a different programatic point of view.

In a Microsoft model, this business layer is usually in DLLs, in Active objects, or the new way being .NET components and web services. Not only can these components be staticly or dynamically included into a project, but they can have a communications interface to them seperately. (Yes Java, in various ways).

With .NET and MSIL I can get my libraries to talk on the same level of speech as the website front end, thus providing a very easy way to pass around memory specific structures and resources, and make use of the original business logic without code rewrite.

otherwise, php, perl, ruby, I'm going to have to make all these classes/functions that converts MyObject to MyObjectWithNoPointers and Orange to an Apple to get them to talk without tons of hassle (aka. marshalling)

iwz iwz

yeah, that sounds horrible (the marshalling part).

go with mono

yay #8.1.2 yayOG 2004

Huge undertaking? Eh yeah, but at least the products I'm dealing with in this line up is supported....
Mono has support
Suse linux has support
Both made by Novell
So I feel safe there.

So I get to just worry about code. instead of "Oh QT doesnt support, this, QT doesnt do this, QT has no calander picker? ALKDJFLJSDKLFJ"

yay #7 yayOG 2004

that enlightenment WM looks sick, just makes me want to contribute somehow, but no time for it

yay #6 yayOG 2004

Hmm new option, my boss is willing to shell out a 1+k dev license for trolltech's QT libraries, which gets rid of that whole gtk+->wxwindows setup i was thinking

deanh77 #5 deanh77Founder

wxwindows is what the original Bittorrent client was written in, and I've installed a couple apps written in gtk+ on my windows machine (the Gimp). I hear its good stuff.

yay #5.1 yayOG 2004

yeah I just saw the list of companies that use it, pretty extensive

deanh77 #4 deanh77Founder

mono is def. cool tech, but if I programmed in it, I would shudder to think that microsoft might do something legally down the road, and then you'd be in trouble.

yay #4.1 yayOG 2004

Ah well the interesting thing about MS new .NET venture is that I believe most of it is under ECMA or ISO, it's actually standarized, unlike previous MS endeavors or technologies. So project-mono is strictly building to standarized specs, unlike say, trying to emulate/recreate proccesser binary compabillity for win32 API, which is not open standard and specific to windows.

.NET reasoning is to make everything run .NET, just like java and its JVM, it's like putting a costume on MS to make it seem MS isn't there. but i dont know what limits there are on open source verse proprietary software, etc. and yeah that could really be beat if MS says "ok everyone pay up now"

deanh77 #4.1.1 deanh77Founder

mm. have to politely disagree. If MS *wanted* .NET to run on everything (like Java), then they would have ported .NET to linux themselves, and distributed it as Sun distributes the JVM (which is closed-source, but essentially free). Mono is an open-source project started by Miguel de Icaza, not MS.

MS really only wants .NET to run on Microsoft platforms, therefore windows-lockin. Whether they can do anything about Linux machines running .NET (via mono), or care, is another thing. What they want to do is make money. and they do that by selling Windows.

yay #4.1.1.1 yayOG 2004

i don't know it's a tough call i see it both ways

windows lockin can occur either way

MS does not make money from .NET framework, or compilers or languages. You can get C# for free, and a ASP.NET supported web designer for free from MS. you get the runtime for free. MS does not make money from these packages. they make money from services and software bundles and support, and dev tools. They make money of things built ontop of this architecture

MS does wierd things to attract a different crowd. Did you know NT4 there was a port for POWERPC, SPARC, and other systems? There is even full unix development kit (almost as big as cygwin) for unix developers to convert to windows.

deanh77 deanh77Founder

yeah, they give .NET away for free, understood, but only for Windows platforms. -You still need to buy Windows to use Microsoft .NET. They have not released Microsoft .NET runtime or developer tools for other operating systems. (which is where mono comes in)

<Analogy>This would be like Sun releasing Java, but only for Solaris (assuming they charge for Solaris, which I think is still true). Lets call this .JAVA Then, hey some guy comes along and makes something called Meningitis that will run .JAVA apps on Linux and windows. Now maybe Sun thinks that's cool, maybe it doesn't. All it cares about is selling Solaris. </Analogy>

And yeah, they made and sold NT4 OS for other CPUs, but that doesn't really have anything to do with this.

yay yayOG 2004

highly agree with that, MS wants to push CE and Win on every desktop possible, and that's highly understandable, they own the market then.

but there is no fued, or rivarly really so far. these guys even attend the same ECMA meetings (team mono and MS). Pushing .NET to another platform is both good and bad for MS. Pros are they can sell vis studio developer tools to linux developers, use services by MS (passport amongst other MS libraries that USE .NET), sell office products.

It's a huge MS method is to let people taste what they have and make every possible means to get them convert over. Thats what I mean about the NT ports, even the unix services package. It's a ploy to get developers over. Without developers and a great foundation of developer support you have no OS. *nix just happens to have many confused random developers with no primary direction. MS started out with a highly extensive developer foundation. I can see it the more I work with *nix systems. MS just 'seems' to always have the next best solid, extensive, working developer technology.

However, I sit on the line in MS vs UNIX debate. But it's just what I've seen and read working for both sides.

deanh77 deanh77Founder

I hear you. you've probably got much better perspective on this than I do, being you've actually used .NET, and I assume at least looked into Mono.

iwz iwz

haha that analogy was awesome

deanh77 deanh77Founder

I do see your point about C# and the CLI being an ECMA standard, I guess that would keep Mono safe.

yay yayOG 2004

Yeah this is one of the first times MS has ever gone to a standard committee, not only ECMA but also ISO. And the first time they have ever supported C++ standard committee

For me that is a big, big deal. Just like POSIX, just like C89/99, just like C++99, standars are a key not only for porting but mainly for the limit on mistakes and idiosyncrasies between different implimentations

yay #3 yayOG 2004

i think im going to go with the spaceship yeah, that should work

iwz #2 iwz

Wow. It's like a different world.

yay #2.1 yayOG 2004

yeah. hmm maybe this was a dumb idea

iwz #2.1.1 iwz

how long have been doing Unix coding?

yay #2.1.1.1 yayOG 2004

about 3 years solid, definitely more hobby wise
but the toolsets and APIs sometimes are universal, and ive been coding for a while now

deanh77 #2.2 deanh77Founder

heheh. yeah, I'm just a java dork. haven't written code in C since college.

yay #1 yayOG 2004

Ok, .NET with mono not possible for service layer because I wouldn't be able to generate true MSIL from the original code, too many pointer operations

Welcome Back to eZabel

It's been a while. Here's what's new.

eZabel Lore

A complete history of our community — stats, Hall of Fame, legendary threads, and more.

View the Lore →

Curator Commentary

Look for the blue speech bubbles on threads, profiles, and news — notes and context from iwz.

Everything Preserved

All 225,969 pieces of content from 2000–2014 are here — forums, messages, journals, photos, polls, and events.