I always feel insecure about projects that involve multiple new fields. The most general field I could post over the next one is DevOps. I’ve done relatively little programming the last few years, instead cracked my head over customer requirements, business strategies and organization. I’ve never created my own web server in an intranet network, because the only software I ever got to roll out myself was a desktop app on windows: Locate .exe, Copy & Paste.
The Circumstances
I’m mostly restricted to a workplace with remote administrative support. I have no admin access myself, so whatever I want to get installed or configured onto my local machine has to go through a communication process that is slow and unwieldy. Reason: Security.
I will soon inherit the application server of a colleague who got promoted to a new team somewhere else. The usual scenario: Someone wanted an app, someone else tinkered around with an old pc that was available, some generations of trainees and students without expertise build something that “runs” over some 15 years. There is apache on that server, so that’s good, I guess.
I have access to a virtual machine with full admin access for me, so building a prototype there to get in touch with the tech-stack seems a good way to start. Obviously, I still don’t know what to do in there.
The Idea
There is the legacy system build on php, provided by xampp and apache. I injected source control and a scm-system behind it to prepare for the future maintenance of those applications, approaching some minimum of efficiency. (So far, every kind of development was done directly on the productive system. No back-up strategy.)
If php was okay, I’d just run with that, and all would be fine. But php is at odds with some other specifications from our vague enterprise architecture, so I have to switch to Java EE.
That hatched the idea of just plugging in the tomcat behind the apache and roll with it.
The Problem
I have no (real) experience with:
-
Apache
-
Tomcat
-
JavaEE
-
MS Servers
-
Configuration and Implementation in a network
Because of all those unknowns, I would lose a lot of time just figuring out how much complexity actually hides behind each topic. What are the dependencies? What’s the minimum to get going and learn on the job and what is really necessary to avoid future disaster?
The Request
Could someone please give me some guidelines to approaching this? What should I start with? What are good resources? What can I safely avoid? I think something like a rough step-by-step guide would be neat, but for all I know the advice could be: “Just install apache tomcat and put your code in folder X; it really is that simple”.
You don’t need to worry about The Circumstances, but these complications are part of my every day work life, and often break tutorials or common approaches. (For instance: I can’t use maven like most resources suggest, because all it’s repositories are black-listed by my company). So the circumstances might really be irrelevant to your response, but were kind of important to explain my problem comprehensively.