[LINUX] Knowledge before Java development in Windows Server environment-For better understanding-


Here is a summary of what you need to know before developing Java in a Windows Server environment.

I've included it for you to understand before you start, so I'd appreciate it if you could point out any mistakes.

In addition, please note that there are some places where you have just described what you have investigated or taught.


Anyone who wants to start Java development in a Windows Server environment.

table of contents

(0) Introduction (1) Skills required for Java development in a Windows Server environment (2) Relationship between Windows, Linux and Java (3) Cooperation between Windows and Linux is done in C ++ and C #. (4) Cooperation can be performed using Web service technology (5) The times are going to Web services! (6) What is happening when Web services have begun to spread? (7) Conclusion

(0) Introduction

■ ** If you simply develop Java in a Windows Server environment ** There is no merit to use Windows Server.

■ In general, Unix (Linux OS) is often used to create Java user systems.

So when do you use it? ??

[** Used when developing Java programs that utilize the functions of Windows and Linux **. ]

(1) Skills required for Java development in a Windows Server environment

[1] ** Being able to use Java with Eclipse. ** **

[2] ** Being able to create a server system using Web services with Java in Eclipse. ** ** ⇒ You can build a Java environment. ⇒ You can build a DB environment. ⇒ * Tomcat and Apache can be set.

[3] ** To be able to master Windows and Linux technologies by using C ++ technology and C # technology at Microsoft. ** ** ⇒It seems that this is okay even there.

(2) Relationship between Windows, Linux and Java

◆ Microsoft, a rival company, and the Linux Foundation have joined hands. I would like Java to be mixed here as well. 01.PNG

[Coexistence of Windows and Linux] ■ In Winndows Server and Winndows 10, coexistence is possible by using a program called ** Windows Subsystem for Linux (abbreviation: WSL) **.

■ ** In the first version of WSL **, pseudo Linux function was realized by Winddows, so ** pseudo Linux is realized by using the kernel of Winddows (central part of OS) **was.

■ On the other hand, ** the upgraded version of WSL2 ** is equipped with real Linux. That is, ** the Windows kernel (NT kernel) and the Linux kernel coexist **.

⇒ As a result, technologies and tools made in Linux can now be used in Windows as they are!

(3) Cooperation between Windows and Linux is done in C ++ and C #.

■ Windows and Linux ** cooperation is done in C ++ and C # **.

■ In addition, the programming language C ++ / CLI that mediates between C # and C ++ is also important for those who develop C # and C ++ **. (Isn't Java developer so important?)

■ Since C # can be linked with Java, ** Windows and Java technologies can be linked **. This cooperation can be done using the integrated development environment Eclipse.

■ Control C #, which handles Windows functions, with Java in Eclipse.

(4) Cooperation can be performed using Web service technology

What is a Web service? ] ** Technology for publishing program parts on the Internet ** The protocol (standard for communication) is called ** [SOAP] **.

Let's take a closer look.

Whether it's Visual Basic, Visual C #, or ASP If the standard of the compiled program is standardized, it is possible to operate each other comprehensively without depending on the language difference. This is called ** [CLI] ** (Common Language Infrastructure).

Yes···? ?? ?? (; ・-・) All right, let's understand by following the figure.

First of all, was there such a background! Let's see from that.

(It has nothing to do with the names of the characters, but let me be playful around here)


Company A Nobita: "Okay, the program is complete! I've compiled it ... Okay, I've made it into parts!"

Company B Suneo: "I'm done! Compile ..."

Company C Gian: "I'm done! I'll compile!"

Company D Shizuka-chan: "I'm done! Let's compile!"

Company C Gian: "Yeah! Nobita! Use Nobita's program! What ?! Why is it a" heart mark "! When compiled, it's a" leaf mark "!"

Company A Nobita: "Well, I said that, but when I compile it, it's a" heart mark "."

Company D Shizuka-chan: "Oh, I'm a" tree mark "."

Company B Suneo: "I'm the" flame mark "!"

Company D Gian: "Usse, sir! Nobita, do something about it !!"

Company A Nobita: "That's what I said, Doraemon."

Microsoft Doraemon: "Then, let's standardize the component technology and unify the specifications."

Company A Nobita: "Can you do that ?!"

Microsoft Doraemon: "Well, [.NET] !!"

Company A Nobita: "What that?"

Microsoft Doraemon: "Component technology is a great feature that allows you to use other programs on a component-by-part basis!"

Company A Nobita: "Yeah, but each company has a different component mark (specification)."

Microsoft Doraemon: "You just have to unify it! The unification (standardization) is ** [CLI](Common Language Infrastructure) **!"

Company A Nobita: "As expected, Doraemon!"

Microsoft Doraemon: "If we can publish the program parts on the Internet, will we be able to use the parts made by Gian Nobita?"

Company A Nobita: "Yes! But how?"

Microsoft Doraemon: "[Web service] !!"

Company A Nobita: "Web service ??"

Microsoft Doraemon: "Web services are technologies that publish program parts on the Internet. The protocol (communication protocol) at this time is called ** [SOAP] **."

Company A Nobita: "Hmm ??"

Microsoft Doraemon: "Is it difficult for Nobita? Look at this."


Company A Nobita: "Yes! Standardize the compiled standard with ** .NET ** according to ** CLI **, and publish the parts on the Internet using the protocol ** SOAP **, this is ** Web It means service **! "

How is it? Did you understand somehow? ??

This seems to mean that they work together using Web services. It's a natural way of birth as a flow.

(5) The times are going to Web services!

[Why are Web services advancing? ]

Let's follow the order. ..

[CORBA] is ...

Wait a minute and don't be disgusted. I'll explain.

■ The biggest feature of Windows ** [Event driven] ** This is very simple! !!

What if I press "A" on the keyboard on the search screen? Of course, "a" or "a" is displayed, right?

Yes, this is called event driven.

Normally, when you want to create an event-driven system, you generally use Windows. However, there are other distributed systems ** [CORBA] ** that can utilize ** events (referring to events / events) **.

■ What is a distributed system? It is a full-scale technology for creating a server system, and creating a server system using Java-based CORBA is quite famous.

This CORBA has a function called ** event channel **, and you can easily create a mechanism to generate an event.

Supports C ++ as well as Java

Well, an important technology in creating server systems. (This time it's about knowledge ...)

■ Creating a server system using Web services! Yes it was! Web service.

CORBA can be used on both UNIX (Linux) and Windows.

However. .. .. CORBA is not perfect. It supports several programming languages, but is limited to the supported range.

As a result, a more widely accepted server system creation technology using standard technology was created, the name of which is ** [SOAP] **.

Yes, SOAP! You already know! !!

-From here, the main subject of this chapter, the era of Web services, is advancing- ■ SOAP and Web services  Microsof  IBM BEA Systems  SAP  ORACLE Fujitsu,  Hewlett Packrd  Intel Was made with hands together.

There are a lot of well-known companies. .. ..

⇒ ** Microsoft has made ** various standard technologies using ** C # **.

⇒ ** Non-Microsoft ** companies made using ** Java **.

As a result, Java and C # have become central to Web service systems.         ↓ The regular version of the development environment for creating Web service systems appeared all at once in 2002, and ** has become widespread in business systems for companies. ** **         ↓ However, ** failed in the system for general users. ** ** (* A system for the general public is a system in various fields such as music, games, and fashion.)

And the greats thought. ** "Yes, I want to make a Web service and spread it ..." **

■ Make efforts to popularize Web services of each company. IBM: Let go of Eclipse from its own control and let many companies participate in technology development. ORACLE: Acquired Sun Microsystem, which opposed the spread of Web services. Microsoft: Partnered with rival Linux Foundation. (This is the one I said at the very beginning! That's why it's available from Windows 10!)

Google: Adopts TypeScript, Microsoft's cloud computing compatible scripting language. SONY: Co-developing cloud games, etc. in collaboration with Microsoft.

↓ This ridiculous move has led the industry itself to move to Web services.

As a result, ** Web service systems that utilize Java technology, Linux technology, and Windows technology have become mainstream **.

[Why are Web services advancing? ] As you can see, the collaboration between the Linux Foundation and Microsoft started the transition to Web services for IT as a whole!

(6) What is happening when Web services have begun to spread?

■ Tomcat (software required to run Java Servlet) Tomcat can be used for Java-based Web services (SOAP). Because Tomcat was emphasized in Java-based Web services at the beginning of 2002.

Most Java-based Web services (SOAP) used Java Servlets, JSPs, and Java MVC model.   ⇒M:Java    V:JSP C: Java Servlet (Servlet)

■ Apache (Web server) As mentioned above, Apache is used for Java system in Web service.

However, this Apache is Apache SOAP, and as the name suggests, Apache is SOAP-compatible. ⇒ After that, move to Apache AXIS. After that, I moved to Apache AXIS2. After that, it became Apache CXF.

■ About DB ORACLE, IBM, and Microsoft are also members of WS-I, the organization that created SOAP and Web services.

You can use that.

** Current SQL is static and not dynamic. ** ** ⇒ Static: All configurations are decided when the programmer writes the SQL statement. Dynamic: For run-time conditions (user operation details and run-time environment conditions) Therefore, flexibly decide the configuration at the time of execution.   ⇒ In the future, there is a possibility that it will be replaced with XML-DB that can perform dynamic processing.

■ About Java construction For Java, it is basically a configuration before the appearance of Web services. ⇒Therefore, it is the same that the configuration uses Apache, Tomccat, and DB. However, it is partially different because the protocol has changed from HTTP to SOAP.

As mentioned above, Web services have succeeded in popularizing business systems for enterprises, but ** have failed for general users. ** ** ⇒Therefore, the technology ** [REST] ** that realizes Web service-like things with conventional HTTP was born.

REST is not as sophisticated as SOAP, but it has the advantage of emphasizing conventional technology. ** **

So! !! Examining Web service technology reveals two types: Web services (SOAP) and REST. Since REST is also ** aimed at enhancing the functionality of the Web **, there are some differences from conventional technology, but REST is ** more important to conventional technology **.

When you hear REST ・ The purpose is to improve the functionality of the Web ・ Emphasis is placed on conventional technology (HTTP) If you can associate it with, it's OK! !!

■ About client server system In a system using Web services (SOAP), ** Web-based technologies are merged with non-Web-based technologies to enhance the functionality of the Web. ** ** ⇒ Web technology: JSP, JavaScript, Python, Ruby, etc. Non-Web technologies: C ++, Java, C #, etc.

Therefore, it is close to the image of a client server system made in C language, C ++, JAVA, and C #.

However, in an actual Web service (SOAP) system, there are two patterns: ** [client server] two-element method ** and *** [MVC type] three-element method **.

The advantage of the MVC type is that you can configure the conventional Web **, so if you are highly conscious of the Web, select the MVC type.

The advantage of the client server is that ** the client and server can be considered separately. ** ** For client-side program creation, ** You can freely choose the program language. ** **

-Microsoft's ** C # -based ** Web services (SOAP) are centered on ** client servers ** and also incorporate MVC types.

-IBM and ORACLE's ** Java-based ** Web services (SOAP) have adopted client servers centered on ** MVC types **.

** Summary of (6)! ** ** -The configuration using Apache, Tomccat, and DB for both Web service (SOAP) and REST is basically the same as the conventional technology. (SOAP and REST have some different functions)

-REST is a ** simple Web service **, and has the disadvantage that it is not as sophisticated as Web services (SOAP).

-In an actual Web service (SOAP) system, there are two patterns: ** [client server] two-element method ** and ** [MVC type] three-element method **.

(7) Conclusion

Java development in a Windows Server environment ** Because Web services that coexist with Windows and Linux are becoming widespread **.

Assuming that you can acquire skills from here, first of all, it would be nice if you could understand the flow of birth and what kind of functions surround it.

It took 16 hours to put this article together. .. I think there are some mistakes. In that case, I would be grateful if you could teach me so gently that the monkeys can understand it.

What is written in this article is posted with gratitude to the kind person who taught me very kindly and politely. thank you very much.

I hope this helps someone.

Recommended Posts

Knowledge before Java development in Windows Server environment-For better understanding-