How the Web Works
By [http://ezinearticles.com/?expert=Pallab_Kakoty]Pallab Kakoty
How the Web Works
Because you're taking this course and reading this lesson, it's a pretty safe assumption that you can get on the Web and move around with certain adeptness. To access any given web pages, we are most likely to use its web address which is technically called a URL (Uniform Resource Locator) and click on hyperlinks and graphics to move from one page to another. In general, the Web is a pretty seamless world; you often move from one Web site to another and may not know you have done so. If you want to add your Web page -- and eventually your Web site -- to this virtually seamless environment, you'll need to understand a bit about the workings behind the Web scenes.
Of Clients and Servers
Simply put, the Web is a gigantic network. What that means in geek-speak is that there are, in the most general terms, two roles that a computer can play on the Web: client or server. Anything else deliverable over the Web including documents, images, sound files is stored by the server and clients access those files. Occasionally, a computer can play both roles, but more often than not, a computer is one or the other.
For example, when you type the URL http://www.yahoo.com/home.html into your Web browser, your client is sending a request to the Yahoo Web server -- ( identified as http://www.yahoo.com) for a Web page called home.html. When the Web server receives your request for home.html, it looks to see if the Web page exists, and if it does, the server sends a copy to you so that you can view it in your browser. An error message is received to let you know that the page you wanted could not be found whenever the page does not exist on the server. Web Clients and could Web Servers communicate with one another through a system of requests and responses.
The Web would not work without clients and servers. The clients could access each of the web documents stored on the servers all over the world regardless of where the client or server is actually located. This means you can request pages from servers in Sydney, Australia, and Van Horn, Texas in the exact same way and receive responses from each server in the exact same way. In the end, Web surfing is nothing more than a Web client -- a.k.a. A series of web pages are being requested from the Web servers located all around by the Web Browser.
How Protocols Help Computers Communicate
All kinds of operating systems –- PCs, Macs and Unix to name just three -- is running all across the world and both clients and servers can be any kind of computer running any kind of operating system. You could be using a computer which is running on windows to serve you with a website and likewise one may surf the web with a Macintosh client. A Unix computer running Linux may serve the next Web page you view. The beauty of it all is that you, the user, don't know the difference. A Web page is a Web page, no matter what kind of computer it lives on.
A different kind of computers does not usually play well together and you know that most of the time it takes a bit of jumping through hoops to make them communicate. So why is it that the Web -- which is made up of all kinds of computers -- works so seamlessly? It's simple, really. All of the clients and servers on the Web speak a common language called the HTTP protocol.
Common Ground
A protocol is a set of rules two computers use to communicate with one another. A protocol called HTTP (Hypertext Transfer Protocol) is spoken by both the Web browser and Web servers that carefully defines how Web pages are requested and received. It doesn't really matter which operating system is running for as long as both the browser and the server speak HTTP. The HTTP protocol is the common ground that allows them to communicate.
Different computers just could not work with each other and so without protocols, the web would not work at all. Although HTTP is the protocol for requesting and sending Web, there are other protocols as well at work on the Internet besides HTTP.
Putting It All Together
The HTTP protocol is written in HTML (Hypertext Markup Language) to request and send the actual web pages that clients and servers uses.
A Large amount of data can be stored on the server and the same serves if to hundreds of clients, often at the same time. A collection of web servers is actually what is used to respond to client request by web sites like Yahoo and Microsoft as they receive hundreds of thousands of hits everyday. It is not mandatory for the Web server to run the same kind of operating system which the Web clients is using whenever the Web pages are being requested. Protocols fill the communications gap between different kinds of computers and allow them to exchange Web pages simultaneously.
What This Means To You
You may be wondering why you should care about what goes on behind the scenes of the Web. In fact the web is designed in such a way that you don't need to care as a web surfer. To find a place to serve your web pages needs to be found by you as a web developer -- a Web server of some kind -- so that your users can request your pages using their Web browsers. Your Web pages can't be seen by the world unless they reside on a Web server that is hooked up to the Internet. Anyone with a Web client could access your web pages, once your pages are made available to a connected server(remember, that's a fancy name for a browser). For now, that's all you need to know about Web clients and servers. In a later lesson you'll learn more about finding a Web server home for your documents.
User Driven Modelling - Background Information
By [http://ezinearticles.com/?expert=Peter_Hale]Peter Hale
Explanation of the Problem to be Addressed
Research Aim
This research arises out of work to create systems to facilitate management of design and cost related knowledge within those organisations, with the aim of using this knowledge to reduce the costs of manufacturing products. This thesis identifies ways that problems arising from the model development process can be addressed by a new way of providing for the creation of software. With experience from projects, which have used a combination of proprietary software solutions and bespoke software, it is possible to identify the approach of User Driven Programming (UDP). This research unites approaches of Object Orientation, the Semantic Web, and Relational Databases and event driven programming. The approach encourages much greater user involvement in software development.
Software development is time consuming and error prone because of the need to learn computer languages. If people could instruct a computer without this requirement they could concentrate all their effort on the problem to be solved. This is termed User Driven Programming (UDP) within this research, and for the examples demonstrated the term User Driven modelling (UDM) is used to explain the application of user driven programming to model development. This research aims to create software that enables people to program using visual metaphors. Users enter information in a diagram, which for these examples is tree based. The program translates this human readable representation into computer languages.
This research demonstrates how a taxonomy can be used to automatically produce software. This technique is most suitable at present to modelling, visualisation, and searching for information. The research explains the technique of User Driven Model Development that could be part of a wider approach of User Driven Programming. This approach involves the creation of a visual environment for software development, where modelling programs can be created without the requirement of the model developer to learn programming languages. The theory behind this approach is explained and also the main practical work in creation of this system. The basis of this approach is modelling of the software to be produced in Ontology systems such as Jena and Protégé.
The research applies this technique to aerospace engineering but it should be applicable to any subject.
Why a different approach is needed
User involvement is important in the development of software but a domain expert does not necessarily possess expertise in software development, and a software developer cannot have expertise in every domain to which software might apply. So it is important to make it possible for software to be created using methods as close as possible to that which the domain expert normally uses. The proportion of domain experts in a particular domain (aerospace engineering) for example who can develop their own programs is fairly low, but the proportion that are computer literate in the every day use of computers is much higher. If this computer literacy is harnessed to allow the domain experts to develop and share models, the productivity for software development will be increased and the proportion of misunderstandings between domain experts and developers reduced. The domain experts can then explore a problem they are trying to solve and produce code to solve it. The role of the developer would then become more that of a mentor and enabler rather than someone who has to translate all the ideas of the expert into code themselves.
User Driven Model Development
The intention of the research into User Driven Modelling (UDM) and more widely User Driven Programming (UDP) is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the from of a tree diagram. The research involves developing ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. To achieve this visual editors are used to create and edit taxonomies to be translated into code. To make this possible it is also important to examine visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.
The research mainly concentrates on using the above technique for modelling, searching and sorting. The technique should be usable for other types of program development. Research relevant to User Driven Programming in general is covered as this could be applied to the problem in future.
This research unites approaches of object orientation, the semantic web, relational databases, and event driven programming. Tim Berners-Lee defined the semantic web as 'a web of data that can be processed directly or indirectly by machines' http://www.w3.org/People/Berners-Lee/Weaving/Overview.html. The research examines ways of structuring information, and enabling processing and searching of the information to provide a modelling capability.
UDM could also help increase user involvement in software, by providing templates to enable non-programmers to develop modelling software for the purposes that interest them. If more users of software are involved in creation of software and the source of the code is open this allows for the creation of development communities that can share ideas and code and learn form each other. These communities could include both software experts, and domain experts who are much more able to attain the expertise to develop their own models than they are using current software languages. Vanguard are creating a modelling network where universities can share decision support models over a network http://wiki.vanguardsw.com/. We are creating a modelling network that will link to that of Vanguard http://www.cems.uwe.ac.uk/amrc/seeds/models.htm.
Criteria necessary for User Driven Model Development
This section explains the factors necessary to make the User Driven Model Development approach later outlined possible.
Firstly it is necessary to find a way for people with little programming expertise to use an alternative form of software creation that can later be translated into program code. The main approach taken was the use of visual metaphors to enable this creation process, although others may investigate a natural language approach. A translation method can then be provided that converts this representation into program code in a number of languages or into a Meta-language that can then be further translated. In order to achieve this it is necessary for the translator to understand and interpret equations that relate objects in the visual definition and obtain the results. In order for the user to understand the translation that has been performed it is then important to visualise the translated code and this must be accessible to others who use the translated implementation. Web pages are a useful mechanism for this as they are widely accessible.
I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention is to enable non-programmers to create software from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. I am attempting to develop ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.
I am a member of the Institute for End User Computing - http://www.ieuc.org/home.html
My Home Page is http://www.cems.uwe.ac.uk/~phale/
A web page for this article is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm
Article Source: http://EzineArticles.com/?expert=Peter_Hale http://EzineArticles.com/?User-Driven-Modelling---Background-Information&id=181438
Dot Net Remoting
By [http://ezinearticles.com/?expert=Divyen_Patel]Divyen Patel
Today’s enterprise is equipped with array of business applications running across LAN, WAN and public internet. Applications domains cannot remain dispersed for business that demands ad hoc needs. It is now crucial for enterprises to lay these applications out of black box and allow them to communicate seamlessly with each other under distributed environment. There exist several technologies and platforms, which permit interprocess communication across network, and one amongst them is “The .NET Remoting”.
.NET Remoting provides generic framework and set of APIs for developing distributed application that allows different applications to communicate with one another. These applications can be located on the same machine, different machines on the same network or even machines across separate networks.
Numerous technologies permit interprocess communication. DCOM (Distributed COM), Web Services, .NET Remoting all fall under umbrella of Microsoft distributed computing. Both DCOM and Web Services have specific shortcomings that make “The .NET Remoting” a center of interest.
DCOM is restricted to computers of similar type on the same network as it relies on binary protocol. When internet connected world is to be approached, DCOM cannot bring in to play, as every object model does not support binary protocol. One more shortcoming of DCOM is that it works on range of ports that are generally blocked on firewall. Although you can configure firewall and open tons of port for DCOM to work well but in that, it decreases effectiveness of firewall and lot of security issues come up.
Web service a buzzing word, fall under .NET Remoting. Web service is the simplified programming model that allows application to exchange messages in a way that is platform independent, object model independent and programming language independent. Web service is restricted to HTTP protocol only where as .NET Remoting can work on range of protocols. Yet another shortcoming of Web service that put .NET Remoting ahead of it is that it is stateless, each request results in creation of new object, while .NET Remoting allows correlating multiple calls and maintaining state.
It is very difficult to provide ideal Remoting Framework that assures to meet need of most of the business applications. Microsoft has taken a key step in the right direction to improve .NET Remoting with framework 2.0.
One of the big new addition in “.NET Remoting” with Framework 2.0 is a new communication channel called IPC Channel, based on named pipe for cross process communications within the same machine. Previously developers had to depend on network stack, even though they need to communicate with processes on the same machine. In addition, security and restrictions have been applied to IPC Channel with an ACL to limit number of users accessing channel.
Another step up in “.NET Remoting” with framework 2.0 is the improved TCP channel. Security interface SSPI (Security Service Provider Interface) has added to TCP channel that requires window identity for authorization and thereby making it a secure remoting solution.
Strict nature of formatter has been a major problem starting from framework 1.0. It restricts only exact matches of types to be de-serialized on the receiving end. It enable type developers to modify and evolve their types over a time without failing to serialize between versions. This improvement is called “Version-tolerant serialization”
for more informaton visit
http://www.freewebs.com/divyen
or http://divyen.webs.com
Article Source: http://EzineArticles.com/?expert=Divyen_Patel http://EzineArticles.com/?Dot-Net-Remoting&id=419398
Do You Really Own Your Web Site? Maybe Not
By [http://ezinearticles.com/?expert=David_West]David West
Here are some important tips for you to remember and some questions to ask your web site design or development company. If you don't understand the 'ownership' issues when you are buying a web site design or web based application, this is must read material for you! Don't get caught paying twice.
I recently interviewed a new client who was looking to add the functionality of a database to their existing web site. Their current webmaster had completed a business logo and designed the initial interface for the site. The clients asked their webmaster for a quote to add the functionality to the site and he returned a price that far exceeded the clients’ budget.
Long story made short, we found a great application that already exists that would meet the clients’ needs for substantially less than custom development. The client advised the previous webmaster that they were moving services. Do you think they got to keep their original web site? Nope. We had to start over again, which unfortunately meant that this customer had to pay for extra design time that they had effectively already paid for.
Here are some important tips for you to remember and some questions to ask your web site design or development company.
Web Design Source Code
When you hire a web designer or a developer they are going to produce a web site or web based application that your business is going to be dependant on. In fact, a web application may be your whole business. This is absolutely the case where a business is 100% online and depends on the process built into their web site. E-commerce stores are a perfect example of a whole business online.
Web designers create web pages with a compilation of images and hyper-text markup language (HTML). The HTML is a text based standard language that most every web designer in the world knows. The HTML is what is used to hold the structure of your web site together. It keeps the pretty pictures and text all in the right places. Your web browser interprets that HTML and shows you the web site images and text.
Your web designer will start your design by “drawing” your web site in a graphics program. Macromedia Fireworks and Photoshop are two tools that are very often used by professionals. Your designer will draw the site using shapes, colors, images and fonts that are all piled up in layers to create the final “look and feel” for your new web site design. The designers will then slice up the images and use the resulting smaller images to build your working website using HTML to hold it all together.
Here is the key. You need the original art file that was used to design your web site in Macromedia Fireworks or Photoshop or whatever software your designer uses. If you don’t get the source file, your next web designer will have to start your design from scratch if you want artwork changes. This is no walk in the park if the original images that were used are not available. Macromedia Fireworks source files have the extension .PNG (yourWebsite.PNG). Photoshop files have the extension .PSD (yourWebsite.PSD).
Another design issue that you may run into in the future is fonts. If your designer uses fancy fonts that are not installed by default on your computer or your future designers computer, you will have to substitute different fonts. In some cases, choosing a new font is not a big issue. However, if you could image that the font used in the logo for Coca-Cola® became unavailable because Coke® changed designers it would most likely cause them real damage. They need the font used in their logo or corporate branding and so do you!
Questions to ask your web designer
1) When you are finished designing my web site will you provide me with the source files used in the design of my new web site?
2) Will you transfer the ownership (copyright) of these source files to me or my company? Or at least give me perpetual license to continue using them and to make revisions?
3) Will you provide me with the names and files for all non-windows fonts used in the design of my new web site? At the very least, because there may be real copyright issues with transferring the fonts, you need to know the names of the fonts and where you can buy copies of them for your project archive.
Web Application Source Code
Web developers create programs that work as applications on the internet. They create code that is compiled, usually in real-time, at the web server. The code will, for example, connect to a database and extract a set of data. The data will then be compiled into an HTML table (so that it is readable) and then sent from the web server to your web browser as pure HTML. You will not be able to “view source” and read the scripting language because it never leaves the web server. If you “view source” from the web browser, you will only see the HTML.
Some of the code that your developer writes will be protected by copyright. Your developer may also buy code in the form of server components, use code blocks for functionality from other programmers or purchase complete application in order to finish your program. You need to ensure that the developer tells you that you can continue to use the software that they develop for your business for an unlimited period of time, and that if there are any licensing restrictions or reoccurring licensing costs that they are disclosed to you before you start the project. Find out if you will be bound forever to a hosting or server plan for you application.
Here are some questions you may want to ask your web developer
1) Will you transfer an unlimited a perpetual license to me or my company to use the application that you develop for me?
2) Will you disclose any licensing restrictions to me regarding the application?
3) Will you write code using common standards or languages that I will be able to move to another hosting provider or eventually to my own server?
4) Can I move my application to another server in the future if it is necessary?
Use of Encryption
So your web developer says “yes” to the last four questions and you think, “great, I’m home free, let’s get started”. Then two years later you decide it’s time to move your web application to your own servers because your e-commerce store is screaming busy and the cost of bandwidth and hosting is killing your profits.
You start the process to move your application to your new server and call up your webmaster for help, but he has gone to University in the states and “isn’t doing that anymore”. You think to yourself, “I guess I should have used a more established company…” So you find a new webmaster. Incidentally, I am often told by new clients that I am their second, third and sometimes even fourth web developer. So we go to move the web site, but wait, something is wrong… portions of the source code are encrypted. Even the government couldn’t decrypt it. We have to rewrite those blocks of code and the client has to pay… again.
If your web sites source HTML or application scripting language is encrypted then it may have to be rewritten or you will have no way to add functionality, or to fix bugs, without involving the original developer who holds the key to the encryption. They are quite clever, aren’t they?
There are some good reasons to encrypt some portions of the source code, even on in a web application. Most web applications will contain, in the source code, the database, username and password within one of the files. This is a great example of a code block that should be encrypted before it is placed into a shared hosting environment.
If your web developer is going to encrypt portions of the source code, make sure you get a copy of the unencrypted source code for your project archive. In this manner you will be able to work with a new developer.
Questions to ask your web developer regarding encryption
1) Will you be encrypting any or all of the source code in the application you are developing for me?
2) Will you provide me with a copy of the original source code prior to being encrypted?
Technologies
There are a number of technologies used in the development of web sites and web applications they include Pre-Hypertext Processor (PHP), Active Server Pages (ASP), Active Sever Pages dot Net (ASP.NET), and Cold Fusion to name a few. All of these scripting languages facilitate connecting web sites to databases and accessing functionality on the web server such as sending mail or uploading files. All of these technologies are widely used, widely available and there is a great number of developers that know these languages. There are some lesser known programming and scripting languages that may be able to do a lot of the same things as the more widely used languages. The pitfall is that you may have a more difficult time finding a programmer that knows the language.
Some web scripting or programming languages like Microsoft’s® Active Server Page or Active Server Page dot Net technologies are developed specifically for use on the Mircrosoft operating systems. These technologies are difficult, if not impossible, to run on a Linux operating system. When your programmer selects a language to develop your web application with, he may be marrying you to a long term relationship with a particular operating systems and software vendor. This is okay as long as you recognize the long term ramifications of these choices, some of which may be greater costs to you in the future.
Questions to ask your web developer regarding programming languages
1) Is the technology you use tied to one particular operating system or can I host my web site on my choice of servers with my choice of operating system? More specifically, can I host my application on a Microsoft web server and a Linux server?
Transferability
Make sure that you are able to move your web site to a server with comparable standards in the future should you wish to do so. Moving a web site to a new server is not necessarily due to a break down in the relationship with your web designer. You may be forced to move if your existing server can no longer handle your traffic bandwidth. If your costs become too high in a shared hosting environment you may find it more economical to setup your own web server and host your own application.
If you do choose to host your own application this is where the cost ramifications of your earlier choices will hit your pocket book. For example if your site was developed using PHP, an open-source scripting language for websites, then the cost of your new server will likely not include any software licensing because the operating system (Linux) is free. If on the other hand your site is developed using .ASP or .ASP.NET, you are going to have to buy expensive server licenses from the big guy.
Can You Use Your Site Into the Future?
If you commission a web designer or developer to complete a project for you make sure that you have an agreement in place that clearly specifies that you can continue to use the project and the related source files when it is completed. Check the service agreement that you have signed with your web company. Of course if there is no documentation then you will not know if you own you web site or web-based application.
In Summary
There are some good reasons for web designers and developers to protect their rights and to ensure their future earning potential. As the client or purchaser of web design services you need to understand where you stand with regard to choices that will be made on your behalf regarding your web site or web based application. http://www.eKzact.com sign up for our *Free* newsletter on-line Call 1-866-WEBB-123… or email info@ekzact.com
© eKzact Solutions Inc. 2005
About the Author
David West is a Director and the operating partner of eKzact Solutions Inc. A full service web site design and web-application development company. eKzact Solutions puts small and medium sized business online! Visit us at http://eKzact.com
eKzact Solutions Inc. [http://www.eKzact.com]http://www.eKzact.com... “We Put Small Business Online” Helping small business to jump start their online success, profit and growth. We make putting your business online affordable!
Article Source: http://EzineArticles.com/?expert=David_West
http://EzineArticles.com/?Do-You-Really-Own-Your-Web-Site?--Maybe-Not&id=74764
How to Choose a Design Pattern That Fits
By [http://ezinearticles.com/?expert=Joshua_Hayes]Joshua Hayes
As a pre-cursor to design patterns in the previous article in this series I looked at common signs to over engineering your design by forcing a design pattern that doesn’t fit. One important point I made was not starting with a design pattern and opting to refactor to one when you know it’s necessary. Not over complicating your design with the noise of trying to fit a pattern into it before you know your design really requires one. If you have taken this approach it is at this point that your design has had some time to incubate on its own; stand, or crumble under its own supports.
In the case of crumbling supports you have identified a hole in your design. So what do you do with any hole? Search for the right size shape to plug it! Here’s how.
Describe the hole your design pattern will fill
What type of hole is it that sits in your design? Since you are looking for a design pattern to fill the hole describe the problem as it relates to the three types of design patterns; creational, structural or behavioral. The goal here is to identify and narrow down the list of possible design patterns. So, is your problem a creational one? A Structural one? or a behavioral one? Once you have identified the type you have narrowed the list of options by two thirds.
How to identify the problem
Here are some tips on determining what type of problem you have.
Creational – If you are trying to separate the process of object construction and object use. Typically patterns like the Singleton, Factory, Abstract Factory and Builder
Structural – If you are trying to interface to a sub-system, connect to an interface your system doesn’t support or provide a flexible storage structure for adding and manipulating objects. Adapters, Bridges, Composites and Façade’s are good examples
Behavioral – If the primary concern is how you access objects, perform operations on them and otherwise interact with them consider patterns like the Command, Iterator, Observer, Strategy and Visitor
It should be noted that the list above is far from exhaustive. Just an example of what you might be looking for.
Determine your primary intention
Once you have worked out what type of pattern you are looking for you need to delve into your design a little further and decide what your primary intention is if that hole were to be filled. Here’s an example I encountered recently:
I was pulling out a large amount of information from tables in a database and ultimately wanted to convert this information to xml, keeping any hierarchical information that was present in the database in the form of relationships. These hierarchies would then be used to define the level of nesting in the xml structure.
The tables retrieved would not always be the same and the xml structure would have to reflect this. Having ruled out using a persistence framework like hibernate or ibatis knowing that I could implement a much lighter solution, I then proceeded to create simple mapping files for the tables I was pulling out. This is where I found my hole. How do I structure and store this information in a manner that will reflect the final xml structure? To cut a long story short, the database tables I modeled as hashtables and used the Composite pattern to create the structure of composite components I was looking for.
In the aforementioned example the intention was to structure and model the table representations in a flexible hierarchical structure. The composite pattern provided a flexible means of nesting tables within each other thus preserving this structure.
Match your intention with that of a design pattern
Now that you have worked out the category your problem exists in and you have identified the principle problem you are trying to address you can begin exploring for a pattern that is designed to match the intention you are trying to fill. Most design patterns books describe patterns in this way; it then simply becomes a task of matching your intention with that of a pattern.
If you have identified your intention correctly and cannot find a pattern to match, don’t fret. Your hole just may not be pluggable by a design pattern. Design patterns address problems that occur over and over again and provide a solution to the core problem so that this solution might be replicated over and over. It may be the case that your hole is not one of these problems that occurs over and over again and thus does not have a repeatable solution. It may just be an oddly shaped hole!
In summary, let your design stand on its own for a while first and see if there are any glaring spots in your design that are asking for further scrutiny. Describe the type of hole or gap in your design with respect to the three common design pattern types; creational, structural and behavioral. Once you know the type, state your intention as if it were to be filled and match it with the intention of a pattern in this category. In other words, don’t choose the design pattern. Let it choose your design. The more familiar you are with the various design patterns and the more situations you have used them in the quicker you will become at spotting them in future designs.
This was meant to serve as a guideline to identifying patterns to fit design problems when you have discovered a pattern may be useful. It is just that, a guideline. In the [http://codelines.net.au/blog/software-design-patterns/]next article in this series I will look at how to actually use a design pattern in your design once you have discovered the need for it.
Joshua Hayes http://codelines.net.au
Software Developer
Article Source: http://EzineArticles.com/?expert=Joshua_Hayes http://EzineArticles.com/?How-to-Choose-a-Design-Pattern-That-Fits&id=432457
Dot Net Remoting In Dot Net Questions
By [http://ezinearticles.com/?expert=Adam_Sturo]Adam Sturo
Remoting helps in communication between two or more application. It does not matter whether it is on same computer or on different computers and it is also possible that both are using different operating system. The dot net remoting helps in number of services such as control on the lifetime of objects and also helps in transporting message in different objects using communication channels. Communication channels helps in transport message in between the remote objects.
When any messages are sent with communication channels are encoded and after this decoded with the help of dot net serialization formatters these are binary and soap. These are two kinds of encoding possible just like binary and xml encoding. Both of these have different users. Binary encoding helps full where performance is first requirement. Xml coding helps where interoperability is required.
Dot net remoting enables to perform communication between different object by using number of transportation protocols such as HTP and TCP/IP.
Dot net remoting system allows client to call objects in remoting boundaries. This boundary includes application domains, and processes in computer. To communicate between server objects and client objects we need to use object reference of server objects in client application in dot net Remoting. When we create a instance of remote objects using new keyword client get a reference to this server objects. After getting this reference client can call methods on server objects this object resides in client’s process not on different computer.
Dot net remoting proxy objects to allow the client process to get server objects. When we create instance of remoting objects dot net remoting creates a proxy object and send this to client application.
For more info on [http://www.dotnetquestion.info]Dot Net Interview Questions and [http://www.dotnetquestion.info]Dot Net Questions visit dotnetquestion.info
Article Source: http://EzineArticles.com/?expert=Adam_Sturo http://EzineArticles.com/?Dot-Net-Remoting-In-Dot-Net-Questions&id=578144
Dot Net Component: CLR and Com - Decom
By [http://ezinearticles.com/?expert=Perjej_Munjal]Perjej Munjal
Dot Net have an important component that is CLR. No my point of view its not component, I think it provides runtime environment infrastructure to application. Lets take some overview of it.
First of all we need some source code that needed by CLS. It must be in CLS – complaint languages. Now the next step that comes is, CLS compiles the source code generate the Intermediate code (MSIL) and Meta Data.
The MSIL (Microsoft Intermediate Language) contains some instructions that relates to C.P.U. Just like how to load, store, initialize and call methods on objects. In MSIL instructions are also there just like perform arithmetic and logical operations, memory directly access, flow of execution, handle exception. Because before execution MSIL we need CPU specific instructions. And to execute the code, the runtime requires information about the code that is in metadata.
The Meta Data contains the types and references to other type which is helpful for our applications.
Both of these files located in a PE File(Portable Executable File). When we execute the P.E file the class loader loads the MSIL code and metadata from P.E file to runtime memory. Now works for code manager is covers in existence it call the entry point method. This is any of these three.
. Main
. WinMain
. DLLMain
Entry point is first method that is to be executed first. When entry point is execution code manages helps object to places him in memory and controls the execution in the program. Now garbage collector performs periodic checks on the heap to identity the object, type checker performs types checking. Type checker raise error if any occur. CLR controls the code at runtime. Now security engine performs restriction application. Now Managing Multithreading , Com Marshels performs there roles. Now JIT compiles perform there role and convert all thing to native code.
Pervej Munjal, writer of this article, is the main source who writes on [http://www.dotnetquestion.info]dot net questions and [http://www.dotnetquestion.info/dot_net/com_dcom.php]Com - Decom at dotnetquestion.info
Article Source: http://EzineArticles.com/?expert=Perjej_Munjal
http://EzineArticles.com/?Dot-Net-Component:-CLR-and-Com---Decom&id=462908