Pervasive Java

xiaoxiao2021-03-06  20

Pervasive Java

introduction

Before entering the text, let's take a nonsense.

It is necessary to follow the NOKIA 3350 that follows me in the past 20 months. One day in May last May, I was forced to leave me. Later, I bought a N3100, which is often used in many people who have seen in the public and campus. It is a color screen, you can support Java games, accurately, it uses the NOKIA S40 platform, you can support MIDP 1.0. Later, I bought the data line of the root COM port, download some pictures and ringtones from the PC, and then the games and application software. During the period, I have always had an idea, which is to write a small game or application software. Because your own research direction is an embedded system, this idea becomes more and more strong. After the PCB design of the punctuation, I realized this idea. Although it is just a simple and simple thing, it has experienced all the processes, and there is a preliminary understanding of this matter. In this regard, this is not enough to write, but there are two reasons to make me decide to write this small text. I guess you must say that these scholars are really troublesome, and there should be so many reasons for writing an article. The name is rumor, and the girl has to find a borrowed book.

One is because friends Yuanqs like to study software, and more interested in reverse engineering, often communicate with me, I will persuade him to organize a document, so there is a condition, but it is convenient to pick up in the future. The previous paragraph is prepared to study a Python written application with him, and later delayed because of being cut and write a mobile phone program. And it is easy, in fact, I also rarely organize something that I have learned, so I can't say it.

Second, because the next time you want to debug hardware, write the board's program (mainly c), and spend a lot of time to write graduation thesis, it is estimated that there will be no more time to learn Java things. So this article is also a section for learning before.

Maybe a little tired of those talking, the position of the public word. My current idea is that it is not necessary to use the right nonsense, I would rather say some unneapread views with yourself.

Learning Java is an intermittent process, and there is no long time to use it in the actual project, so the understanding of Java has been more shallow and limited, I think it is also true. But because of the changes in work and learning content, I have the opportunity to come into contact with Java's version of different platforms, so I can see Java from different sides, so there may be some different experiences. Here I don't want to discuss the specific technical details, that is the thing of the Khan Niu Chongdong. What I want to do is to describe a developer's understanding and understanding of Java, in order to communicate with others, and I hope that others can point out the place in my opinion, or after a period of time, I think it is Too rough, then explain it is a progress.

Java on Desktop

The earliest contact is the Java desktop version. I first learned it because of the popular, I think I said because you see Java's bright future, you will not believe it. After spent two days, I have been in a hurry to read two Java core technologies, because I feel a lot of grammar and C similar, I still have a doubt, I have C , why should I do this, and very slow. After all, the language is a tool, so I think it is still what it can do or what kind of thing is made. At that time, desktop applications made with Java were relatively small, see related articles, when the pure Java made some relatively large practical software, many people still worried. There are several types of applications I know to use by Java.

The first category is the software installer, which is typical with the Oracle database installer. I want to be mainly because the database has a version of different platforms, the core component cannot cross the platform, but the installation module can only be one, which can save A lot of work is really good to take advantage of the advantages of Java's cross-platform. The second category is some IDEs to represent JBuilder. Between several versions, almost a pure Java code. Of course, JBuilder has also inherited the characteristics of Java startup, and is also places where they are often ill.

The third category is Java application servers, such as WebLogic, WebSphere, SunOn. These application servers are unrelated to platforms, making Java almost a inevitable choice, otherwise it is really unbearable to develop a version for each platform.

The fourth category is a server console, such as a database and application server.

The fifth category is a general commercial application software, such as Yongzhong Office, etc.

The sixth category is open source software, and now in this regard, there is more and more good works, such as JBoss, Eclipse, and so on.

The above classification is not necessarily comprehensive and accurate, but we can see that Java's ability has not proved that it has established its mainstream development language. Analyze some of the software above, we will find the superiority of Java's cross-platform, which has been well reflected, and more determined to use it is also a system that needs to support multi-platform. I think this will also mention the development of Linux. It is because of this, making Windows no longer the only choice of desktop OS, requires a lot of software available under Linux. Or can also understand that Java and Linux are a development of mutual assistance. Linux's popularity has driven Java's development, and Java's maturity has also promoted the richness of Linux platform applications. They still have a common place, that is open, so many manufacturers and individuals can participate, of course, they must find their position.

JDK1.5 has been stable, JDK1.6 is coming soon. Java is very good, it is hard to say. It is constantly improving, its advantages are reflected, and some shortcomings are no longer so obvious and unacceptable, or other solutions are proposed. Think of the C Builder and Visual C war mentioned in Li Wei Shu, the VC is not as good as CB in the first few editions, but it has been developing, to 6.0 has transcend CB in many ways. Software is always constant, as long as it does not lose its motivation, it will become better. Previous colleagues were joking, or wait for a single software version, because you see which server software is not 8.0, 9.0, more than a few. So a very optimistic optimistic about the prospect of Java on the desktop system.

Enterprise Java

Let's talk about the Java of the enterprise platform. I think this is also the most successful field of Java. First of all, I think it is because of the importance of this field and its share in software. Enterprise-class systems generally bear more important tasks, many of the business's life wear systems, such as telecommunications, banks, securities, and more. For many such companies, don't need to be informally, and how to do a good job. They require the system to have strong handling capacity, large capacity, good stability, and good scalability, scalability, and etc. There is no free lunch in the world, and the natural price of these required systems is not. Hardware is not required, database, middleware, report, application system, etc. are more expensive. According to reason, Java's first priest guy should not have a lot of opportunities at this platform. But just in this field, Java has achieved the fastest development. In China, there have been many systems begin to turn to Java platforms, which may be used to use two-layer structure of C / S, or based on traditional transaction middleware, such as Tuxedo and CICS. It is said that in foreign countries, Java is widely used in enterprise-class systems. I analyzed it, there may be several reasons.

First of all, Java provides a good support for the network at the beginning, many architectures are also designed for web design. With the popularity of the Internet, the web-based system (the class of major portals) is increasing, on the other hand, the traditional enterprise information system also proposes the requirements of the network, which makes the originally closed information system cannot meet Now the requirements. The J2EE's related technologies meet these needs, and quickly develop. In addition to Sun, this cannot be advancing the Java Enterprise Application in Oracle, IBM, and BEA.

Second, this world becomes too fast. Changes will make a lot of higher requirements for the information system, and they must quickly meet new needs, so they can take the opportunity in the competition, otherwise it may become a slow fish that is eaten by fast fish. J2EE's application is just a rapid development and deployment capabilities. This is benefited from the standard it open, and there are many optional components. The function of the current Java application server is getting stronger, and there is more and more related development tools, making the development of information systems more efficient. Of course, this has been highly required for the architecture and design of the system, so this problem has begun to highlight.

Third, selectivity of the platform. In the previous enterprise system, it is generally rare to change after the product of a manufacturer, and the hardware platform is the same, the large software platform is also the case. It may not be the case now, especially for some small businesses, they need more choices, then pick out the cost-effective ratio. This cross-platform characteristic of Java is just satisfied with this requirement. First it can cross the hardware platform, making the development of a set of applications can run on different hardware and have different options when purchasing hardware. I used to move the entire web application from the PC to a small machine due to hardware performance. The transition is very smooth. Another ignored is an optional software platform, which is mainly the application server, because the database selection may involve a lot of transplantation problems, and it will cause a lot of chaos. Listening to classmates lifted their project from SunOne to WebLogic for one night. This benefit is obvious. I think this needs may be because of the pressure of competition. Enterprises like telecommunications, the investment in the information system is not much cost, and now the situation is completely different, and it is necessary to have other units.

Lift Java's enterprise-level applications, you can't mention Microsoft .NET. Because it has also been widely used. Microsoft's products came back to say, Visual Studio, IE, Office, even Windows, I think it is because MS has strong learning skills and strong development capabilities. After Windows, according to Bill's ideal, this ability can be understood from another angle, that is, "I can support it than you, until I start making money, and more than you." Everyone knows that MS has an astronomical digital cash reserve, and we also know that it is a lot of software lines that have just begun to pay for money, and it is nothing to mention. If Borland's development tool is losing, if the Oracle's database is lost, they will be chaotic, but MS can support several versions and then dominate. The above is a point of view when chatting with classmates, comparing the left of the road. Now let's go back .NET. MS has invested huge manager and material to develop .NET, but did not reach its expected results. But now it has been widely used. I believe that .NET will definitely do it better. But despite this, I am still more dumped in Java, mainly because of my own ideas. First do some inferences. If the .NET is selected, the OS must be Windows, please forgive me for ignorance in this, I don't know if MS has or plan to implement .NET on other OS. Another understanding is that .net itself is a platform integrated with an OS, then Windows is part of it. The two understanding the conclusion is that if you choose .NET, there is no other OS. This makes many people can't accept, especially those involving their own interests. Next, because Windows is mainly in the X86 platform (if there is anything in other platforms, such as sparc, powerpc), so if you choose .NET, you must choose the X86 platform, more specifically, the main choice is Intel and AMD . Such conclusions are indeed difficult to accept for IBM, Sun, and HP. You must know that in the enterprise market, especially large systems, has always been IBM, Sun, HP's world. If .NET becomes a mainstream, what do these companies do, give .NET development tools or libraries? Because of this, these large manufacturers have firmly support Java because Java makes everyone have a chance to take a piece. The competition between vendors is for their respective interests, openness and fair, sometimes only their guise. However, as a software developer, I still want the hardware and the OS platform to be unique, it is better than I write C code on Windows, Linux, HP-UX, Solaris, they are not very different. For users, when building a system, they can choose BEA, IBM, Sun or Oracle, etc., the database is also optional, the hardware can be selected for IBM, Sun, HP's proprietary architecture, or PC, and then OS can Choose AIX, Solaris, HP-UX, Windows, and Various Linux. Such a selection space is obviously free than the only thing above. This is easy to think of the purchase of compatible machines for hardware, because of the open standards and interfaces, you can choose different manufacturers' displays, motherboards, hard drives, etc. Optionally, it means that intense competition, competition is more choices for users, better quality and lower prices, of course, because they choose more difficult to choose.

J2ME, Java for Embedded System

If you talk about the history of Java, it should be from an embedded system. At that time, Sun had a project called Oak, which is a language designed for the electricity of the TV, and the oven. I didn't expect to enter the desktop system and the enterprise market, gain huge success. However, in the success of the embedded system, it is not inferior to other platforms. Compared with the above two platforms, the embedded platform can be described, messy. This is reflected in several aspects, first, because it is an embedded system, it is not a general computer, but designed for some dedicated features, just because of the computational power or some intelligent operations, the computer system is introduced. For example, TV, washing machine, air conditioner, electronic toy, is also a communication device, such as various movements, etc. Because their function and the difference is very large, the computers in the processing capacity, storage capacity, power supply, etc. are very large, which makes the difference in the external environment of which the external environment is very large, which makes it difficult. There is a versatile. Second, such a system can be regarded as a traditional industry combined with computer, and a gradually in-depth process, the hardware platform used in this process is related to the environment, and the regionality is more obvious, and the general purpose computer The hardware can be easily seen. The manufacturer of TV or air conditioners can choose different processors for their devices, as long as they feel suitable, their system doesn't have to interact with others, so there is no compatibility problem. Some of the other smaller embedded devices are more like this. There are too many CPUs designed for embedded applications, and related articles are pointed out that there are more than 100 kinds of commonly used, and the instruction sets are different. Next is the problem of software, there is no introduction of embedded operating systems in the early simple control system, and now with the system hardware and higher requirements for system functions, the system software has become more complicated, this is The introduction of the operating system becomes necessary, and the embedded operating system has become a hot spot in embedded system development and application for a long time. However, the type of embedded operating system is not less than the processor, and the difference between them makes it compatible to dream.

It is also because of the above characteristics, there is no monopoly in the PC market in the embedded market. This also puts more challenges to the language that Java wants cross-platform operation. No perfect solution. Sun naturally considers this, so the principle when designing J2ME specification is: It is a meaningful thing to create a single platform for a variety of different devices, but at least use Java program language. Because of the Java language, it is actually a low degree of compatibility because many of the basic things are the same, such as some original data types (in some Java platforms may be just a subset of J2SE) And some grammar.

Since the difference in embedded devices is too large, it is not convenient for formulating specifications, and Sun is divided into two categories, divided into CD (Connected Device) and CLD (Connected Limited Device). The first category is for those devices that have a relatively strong computing power, and the power supply is relatively long-lasting, such as television, refrigerators, etc., their volume can be done. For such devices, the CDC (Connected Device Configuration) specification is developed. The second category is a limited computing capacity, limited electricity, mobile phones, PDA, etc., many of these equipment, the battery is powered, the CPU is not high, and the storage is also limited. The specification developed for such equipment is called CLDC (Connected Limited Device Configuration).

Even if this is divided, we can't achieve a unified platform on each type of equipment, because many of the hardware related to the bottom, taking the mobile phone as an example, backlight, vibration is a lot of mobile phone system needs to support However, J2ME does not take this as a standard inside, because many CLDs do not have this need. These are all required for vendors to provide corresponding support. So when developing J2ME applications, you will use the libraries to download their SDK. At present, mobile phones and PDAs, more and more common support for Java, Java's game or application software is also more and more, this aspect is now a hot spot. Java will play an increasingly important role in this regard.

Java Card, Java for Smart Card

About Java Card, the relevant papers were reviewed due to research directions. Smart cards typically refer to the card containing microprocessors, memory, which is a strengthening of the early memory cards, and the card is generally COS (Card Operating System), although all OS, but you don't Compared with these OS we used, because these COS is too simple, it is very small, a few KB is very common, the file system is also very simple, there is no complex task schedule, because there is no smart card to write the data while writing the data , To sing it is also a reader or terminal. Such smart cards have only one proprietary use, which is like all major banks to separate. Now a bank may give you N card, and there is still a small smart card to do a lot of different types of use. . This way, one of us naturally think is that the user's card will be more and more, and many people who have wallet have a similar experience. This introduces portability issues, and a problem is that the current smart card operating system is generally proprietary, such as a bank card operating system, that is highly confidential. Then, many applications to achieve some unsuccessful functions need to be deal with the bottom hardware, which is clearly not conducive to the popularity of smart cards, and the development cycle will be very long. It is based on the above reasons, people put forward the concept of "one card", this is very good, just better than you can use this card to eat in the canteen, then go to steam, you can go to the gym, these are not simple. The system network can be solved, and the card needs to support multiple applications. In this case, Java Card came into being, it would provide a platform that can be used as a plurality of cards. Sun always likes to propose a variety of norms, no wonder first-class manufacturers standard. For the specific technologies of Java Card, I don't have a further study, I don't know much, here to use the news of the two industry in different times to explain its development overview.

2001-05-31

Java Card technology is increasingly diversified

Sun represents Java Card technology has been universally applied and strengthens tens of millions of smart cards worldwide. Java Card technology offers a safe and interoperable multi-application smart card platform that supports special needs such as financial services, government agencies and telecommunications markets. Sun and some industrial leaders, including Activcard, Banksys, Gemplus, Giesecke & Devrient, Ingenico, Japan Telecom (NTT), Obethur, Prusted Logic, Schlumberger, Trusted Logic and Visa, A variety of solutions that use Java Card technology, including digital identification solutions, lifecycle management systems, health care applications, and platform security tools.

Richard Green, Vice President and General Manager of Sun's Java Software, said: "Java Card technology has become a Multi-Application" indicator of the open standard of multiple applications. Java Card technology can make smart card manufacturers, developers and issuers quickly build reliable applications and services to reduce costs and shorten the time of listing. "Java Card technology applied to the global market

Financial institutions in Europe, Asia and the United States, such as US Express, Citibank and Westerner have built a smart card with Java Card technology, which supports value-added services, including inventory value. , EMV borrow / loan, credit investigation, and Internet PK certification. Many government agencies are currently preparing to issue a smart card with Java Card technology to replace the existing "Paper" Identification Card. For example, the US Department of Defense has built a smart card based on Java Card technology as a new ID card of 4.3 million active Division and Qualified Job / hire. In addition, the Taiwan government will also issue a smart card with Java Card technology to serve as a new health card of 24 million people. China Mobile Communications, France Telecom, Hong Kong Telecom, Orange, Swisscom, Telecom Italia Mobile and Telefonica, etc. have built millions of Java Card technologies around the world. SIM card. Sun has recently launched the Java Card 2.1.2 development kit to simplify the process of developing application services in the Java Card platform. This development kit provides new tools for applications and platform developers that can make the development process more reliable outside of the functionality that can be used.

2004-11-3

THG reported that Sun Microsystems announced that the company's Java Card technology platform has been integrated into more than 750 million products including mobile phone cards. According to Sun's report, this quantity has increased by 50% in a year. The mobile phone is currently the highest technology requires the highest technology, which requires multiple application services to be stored in a card. The designer provides mobile data services by standardized Java technology, and can perform 3G USIM card and GSM SIM card authentication, and can also perform SIM-based application services. At present, the capacity of the SIM card can have reached 1MB. In addition, the main banks and credit card companies, such as Visa, American Express and Mastercard have also released a new generation of credit cards based on EMV Java Card technology. The EMV is a Smart Card standard developed by Europay, MasterCard, and Visa in 1996, which enables users to use credit cards to use credit cards worldwide. According to Sun's report, the government is also working on test assessment of passport storage data, which is prepared to store a series of complex information such as photos, fingerprints, etc., based on Java-based non-contact chips.

Note: This article will not publish in the rich magazine or website, no business purposes. The above reference is unauthorized, if there is any objection, please contact the author and remove it immediately.

Memorant or talk

Above, we made some brief analysis in Java applications in various fields. Before the end, let's take a look at the two seemingly unrelated concepts.

The first is the grid calculation. Grid computing is a popular research direction in the academia and industry. This noun originated from the power system of the power system. Everyone has been used to insert the plug into the socket of the wall, it can be used at all, and it is not concerned about where the electricity is sent. It is hydropower, thermal electricity or nuclear power, which is transported through what kind of route. When we don't want to use, we will disconnect, and we will pay only by electric energy we actually use. When can we use electricity to use computing power? This is a very bold and interesting idea, those prophets can always make a variety of similar ideas, who dares to say that one day does it become a reality? China has formed an educational grid system and high-performance computing grid system in colleges, and many people are studying, including a few my friends. In the industry, Oracle's new version of the database is called 10g. This g is Grid, Oracle is always relatively rapid when applying these new technologies, and it is also the first to integrate Internet's characteristics into the database, which is Oracle 8i. IBM proposes the concept of "On Demand", which calls the response. BEA proposed Liquid Computing. If the calculation becomes a liquid like a tap water, the Power Grid is almost. Whether it is Power or Water, it is an indispensable part of life, and the computing power will be like this. In the future, it will be mentioned in the calculation or computer, which will no longer be just the thing on the computer desk, nor only Notebook. When a thing becomes necessary in life, it has an important meaning, one thing is important, it makes sense, valuable, worthy of your payment. OK, since you are willing to pay, then someone will talk to you with you, pay attention to you, according to the number of CPUs, according to the number of companies, as long as you can think of, you have possible It is said that. The second is a general calculation, or is now unwilling calculation. This is a further step in the previous grid calculation. IBM gives this concept, give a simple explanation anywhere, access or operate any resource you want or can handle in any place. These three "any" involve three aspects. The first one requests the transmission of data, including a variety of wired wireless networks, which are connected together to a variety of devices, they are fiberly sensitive nerves in the limb. This piece may involve communication networks, computer networks, television networks, and more. The equipment of these networks itself is also a computer system, and they have to run a variety of complex programs. There may be millions of lines of code on the router of an IP network.

The second is an embedded device, which is a variety of equipment, home appliances, mobile phones, cars, your suitcases, watches, smart cards, etc., they will have their own processors, have their own network address, have their own Store, they are a lot of computers.

The third is the management of resources, they may be centralized servers, various, web sites, enterprise portals, e-commerce, multimedia services, etc., may also be some distributed resource management systems, or P2P The other end.

This pervasive computing is such a Paul Vientiane, which clear and blurred outlined the scene of future information society.

The two concepts and the previous platforms mentioned earlier are compared, and the ambition of Java is obvious. Because you easily find that it almost covers all aspects, Java technology can be used as long as there is a computing power. So Java has long been beyond the scope of programming languages.

Furthermore, we will think that the basis of the entire information society is a good way to a language? I think this is impossible, many languages ​​still have their own space in a long time, nor will they be replaced. This is like iron (or steel or some alloy) can be used to make boilers, rice cookers, rice buckets, and rice bowls, spoons, and water pipes for water to use, but I can take one. Plastic lunch box and match a wooden spoon to go to the canteen, if I brush the card, I should not be rejected by the master of the meal. Many technologies have developed to a certain extent, there will be a lot of problems or thinking, these may involve philosophical, economic, political, social, and so on. I think this is why you can experience some universal applications when you are watching a lot of excellent professional books. So some people say that a top engineer may also be a philosopher, or an artist. Once you do some specific things, you have entered a certain area, this field has its technology and knowledge, and when you do the influence of things, it has exceeded your field, it is no longer just technical problems. . This is the case, it evolves from pure computing tools into various aspects of people's lives, and many of its problems are also exceeding its own field. It may be much more far here, and it is time to send.

Since computer technology is based on the basis of the entire information society, then it will inevitably design economic, social, and political issues. These obvious, look at all kinds of relevant policies and regulations. People who have mastered these things may further master more things, such as commercial interests, security, and so on. Then these technologies also need to be reasonably mastered. My coarse understanding is that it should be a relatively open standard. Different people can participate, they can make their own contributions, gain the return, and on a lot of parts, there should be no manufacturers. The product is the only choice. Historical books say absolute power leads to absolute corruption, I want to be in business. Java is now such an open standard, of course, there are still many places that are not perfect, but it is constructive.

Ricky Qiu 2005-3-9 in HUST

转载请注明原文地址:https://www.9cbs.com/read-48676.html

New Post(0)