tag:blogger.com,1999:blog-5252060617182484962024-03-20T12:49:37.605+03:00Omar A. Isaid BlogAt the elementary school -Um-summaq school- our social science teacher Mr. Mahmoud No'man told us that:the secret of the world evolution
in the last decades is the evolution of the communication technologies all over the world.Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.comBlogger18125tag:blogger.com,1999:blog-525206061718248496.post-76432050685281660872019-06-01T22:12:00.000+03:002019-06-01T22:19:17.234+03:00 Collect Your Infinity Stones<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span style="font-size: small;"><span style="color: #003300;">Today while I
was reading the “Self-Leadership and the One Minute Manager” book for
Ken Blanchard , I realized that everybody owns infinity stones that born
with him/her .And , You need to take a fight against yourself and
environment around you to collect these stones.</span></span><br />
<div style="text-align: left;">
<br /></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">The book starts
with a story of campaign manager called “Steff” , that he failed to win
an advertising campaign for an important customer. Steff went to to a
small coffee and start writing his resignation, and his mind was full of
complaining from his poor team and useless manager. When, his eyes
fallen on a “Kyla”, that she was doing a magical tricks for a set of
children. Afte that , Kyla and Steff became fiends , and Kyla starts her
Journey in coaching Steff toward owning the tricks of self leadership .</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">At the second
chapter of this book I noticed a diagram that summarizes the power
points for the self-leadership. The diagram represents a star , each
edge represents certain type. This diagram reminded me with the Thanos
gauntlet that holds six infinity stones , each stone has a special power
.And , the stones together make you the strongest in your place . At
the following I will describe how I can relate the powers of the
infinity stones with the powers of self development. </span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="color: #003300;">2 – Power of Job</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">The power of
job comes from the understanding of the job description , that will
improve your understanding of the importance of your job . For example,
if you think you are a simple programmer that can be replaced any time, I
am happy to tell you that your job description is building high quality
software and cooperating with other teams like QA and business
analysts.</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">This power is
just like the reality stone, some people underestimate their values
.Because, they cannot understand their roles and the value of their
work.When you become the word class in your class and start taking
leadership roles , you can understand the value of your small job on the
entire organization.</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="color: #003300;">3 – Power of Relatives </span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">Your ability to
build relatives to gain their confidence , make you available
everywhere people will appreciate your work and will not hesitate to
work with you . Just like the space stone that enabled Thanos to move
for one place at the universe to another , the relatives enable you to
see new visions and move to new and better positions and places.</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="color: #003300;">4 – Power of Knowledge</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">Profound
understanding of your work, will help the understand the problems that
are facing and taking the most appropriate decision at the critical time
. This would help you to understand the future possibilities, and take
care of the unexpected risks. </span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">The Power of
knowledge is just like having the powers of vision and mind stones ,
you can interfere inside others and expect what they think about and
their future actions , and expect what the future will have for you .</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="color: #003300;">5 – Personality Power</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">The personality
power enables you arrest the respect of others , and make them
following you and interested to meet you as long as possible. The
personality depends depends on your self confidence and influencing
others around you . Just like the soul stone you can own the soul of
others but you need to sacrifice for understanding and leading them. </span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br />
<span style="font-size: large;"><span style="color: #003300;">1 – Position Power</span></span><br />
</div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">The smashing
power is the last power you want to use, just like you are using a
hummer to kill butterfly. This power can destroy and everybody around
you. Thanos was confident enough to have the power stone and he could
control a huge number of army. But, most of his goals are reached
without using the power stone. Actually , if you want to destroy
yourself and the people around you can use such stone.</span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;"><span style="font-size: large;">Finally</span> </span></span></div>
<span style="font-size: small;">
</span>
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="color: #003300;">You need to
explore your talents that God gave it to you with your born , and
sharpening these talents . And , keep learning and improving your skills
and knowledge .Indeed , the most important knowledge that you did not
learn at the schools and educational journey. </span></span></div>
<span style="font-size: small;">
<span style="color: #003300;">The time stone
is the first available stone , listen actively to experienced people and
read more and more to solve your problems . The experiences of other
people and the stories of their failure and success is the time stone
that allowing the moving backward in the time axis and to live more than
once</span></span></div>
Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-54170026836931280342014-06-21T16:05:00.001+03:002014-06-21T16:05:45.115+03:00Questions <div dir="ltr" style="text-align: left;" trbidi="on">
T-SQL transactions Processing<br />
1- Parsing check command text syntax<br />
2- Optimization scale of command<br />
3- Compiling change to native language<br />
4- Execution<br />
<br />
What is response of request object ?<br />
What is MIME protocol ?<br />
What is methods to submit html form<br />
What is the different between scalar and reader ?<br />
What are the methods to clear header ?<br />
What is the ASP.NET page life cycle ?<br />
When to use each state management ?<br />
You have two columns in a table : SSN,Name .Write a query to show if there is repeated SSN and number of its repetition ? </div>
Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-29143097021641076702013-03-29T12:11:00.001+03:002013-03-30T11:19:20.248+03:00Run asp.net web application on iis<div dir="ltr" style="text-align: left;" trbidi="on">
I tried to run VisualStudio 2010 asp.net 3.5 web application and I found the below error<br />
<br />
<h1 class=" indent no-border" id="threadstatus" style="border-bottom-style: none; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; color: #44525e; font-family: 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif; font-size: 2.154em; font-weight: normal; line-height: 1; margin: 0px 0px 10px; outline: 0px; padding: 0px 60px 0px 0px; vertical-align: baseline;" title="What causes this? XML Parsing Error: no element found">
XML Parsing Error: no element found</h1>
<div>
then I disabled UAC and restart the PC to found the error yo found the error </div>
<div>
page not found </div>
<div>
then run reg_iis.exe for asp.net 2.0 and everything works fine </div>
</div>
Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-91790988187194716582013-03-09T13:07:00.001+03:002013-03-10T09:51:49.521+03:00Page .Items Property (transfere data from page to another)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="article-text" id="contentdiv" style="background-color: white; border: 0px; color: #111111; font-family: 'Segoe UI', Arial, sans-serif; font-size: 13.63636302947998px; margin: 0px; padding: 0px;">
<h2 style="color: #ff9900; font-size: 20px; margin: 20px 0px 11px;">
Introduction </h2>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">I did not find a suitable article describes how Page.Items can help to transfer data from Page to another page .Of course, state management like: Query Strings, session, cache Object, Application and others can help us to do that.</span></div>
<h2 style="color: #ff9900; font-size: 20px; margin: 20px 0px 11px;">
Background </h2>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;">Page.Items Property</span></div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;">Gets a list of objects stored in the page context, but we will use it here to keep data from ASP.NET page to another page</span>.</div>
<div class="MsoNormal" style="direction: ltr; unicode-bidi: embed;">
<strong style="border: 0px; margin: 0px; padding: 0px;"><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;"></span></strong><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;">Objects added to the Items property are available throughout the lifetime of the page, so you can add objects to the Items property in events early in the page life cycle and access those objects in later events.</span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;"></span></div>
<br />
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;"></span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;">Page.Items Vs ViewState</span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;"></span><br />
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;"></span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; margin: 0px; padding: 0px;">ViewState help to save data at the page during multiple posts back of the same page .On the contrary, Page.Items refreshed with each page post back</span><br />
<h2 style="color: #ff9900; font-size: 20px; margin: 20px 0px 11px;">
Using the code</h2>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">The code scenario is a login page save user name and use Server.Transfere to transfer to another page, where can get the saved user name from the context of the previous page and of course value will be lost with the first post back of the page</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">In page Login.aspx the Page.Items property save the user name in its dictionary after the user enter user name "Omar" , password "secret" and the user enter login button .</span> </div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">/Login.aspx.cs</span></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzV2BSMhXAdK6KIuF8uPmOPBRbPR65sW7K70fu12Z87ovJ0rC2MkUIgnW05pOJniYkamET5EZq5alpAdItd4pd7yc3Mp4U177Y2h7Ikfv2Lf3V4iP0TiUkRil0cehXFOldzMmRmSzGc_I/s1600/Login.cs.jpg" imageanchor="1" style="font-family: 'Times New Roman'; font-size: medium; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzV2BSMhXAdK6KIuF8uPmOPBRbPR65sW7K70fu12Z87ovJ0rC2MkUIgnW05pOJniYkamET5EZq5alpAdItd4pd7yc3Mp4U177Y2h7Ikfv2Lf3V4iP0TiUkRil0cehXFOldzMmRmSzGc_I/s320/Login.cs.jpg" width="320" /></a><br />
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
</div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">Login.aspx</span> </div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTIAfc6CyNDBqFFc3kvAJbNL73dzfxSktEAM4ATTSjHMH4eIU9Y6aKUXKUaLwzAi29jhqh4tbt9q7abOlWSwBq0SAUwXzfjb-D_3qAtsciW5uWV2SKjgx5s5uDoqKgLyqytb-S7VG9rqc/s1600/Login.jpg" imageanchor="1" style="font-family: 'Times New Roman'; font-size: medium; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTIAfc6CyNDBqFFc3kvAJbNL73dzfxSktEAM4ATTSjHMH4eIU9Y6aKUXKUaLwzAi29jhqh4tbt9q7abOlWSwBq0SAUwXzfjb-D_3qAtsciW5uWV2SKjgx5s5uDoqKgLyqytb-S7VG9rqc/s320/Login.jpg" width="320" /></a><br />
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">The next page Default.aspx will use the context of the previous page to get the user name and display the user name on the label. And so , you need to save the Page.Items value in the first page load in a session , view state or other methodology you want.</span> </div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">/Default.aspx.cs</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6wXuCtgN8TGC_-J9LzZJgy5O42MKZvZhdTjSz2pARuimcLvHPTiQi708XBKJy9R9DMsJR_WOd8-EVWwlihXCTQkTgcpYC4ZDdjMVkkX8mrFpMXwC0HNGaid1mORvkAzzCYY19OXan-lw/s1600/Default.cs.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6wXuCtgN8TGC_-J9LzZJgy5O42MKZvZhdTjSz2pARuimcLvHPTiQi708XBKJy9R9DMsJR_WOd8-EVWwlihXCTQkTgcpYC4ZDdjMVkkX8mrFpMXwC0HNGaid1mORvkAzzCYY19OXan-lw/s320/Default.cs.jpg" width="320" /></a></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<br /></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span><span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">You can use the button to cause a post back and refresh the page and you will notice that an exception will be thrown.</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">/Default.aspx</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-family: 'Times New Roman', serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLV-MT2BQ0ZY4FLjkiTKHAn8YkB3Jn1IHXrrUs7uDgpqhBlQb64tFhVSilFAxUq6Ux6lDSnoI8Jhn9rcnhQHxSsLr1qN7J4rGE7qGfoxoeHPDIgnCnjxCauvzEBGA6B1TONGXIeo4zawI/s1600/Default.jpg" imageanchor="1" style="font-size: 13.63636302947998px; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLV-MT2BQ0ZY4FLjkiTKHAn8YkB3Jn1IHXrrUs7uDgpqhBlQb64tFhVSilFAxUq6Ux6lDSnoI8Jhn9rcnhQHxSsLr1qN7J4rGE7qGfoxoeHPDIgnCnjxCauvzEBGA6B1TONGXIeo4zawI/s320/Default.jpg" width="320" /></a></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span><span style="border: 0px; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">Resources</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">MSDN library</span></div>
<div class="MsoNormal" dir="ltr" style="direction: ltr; unicode-bidi: embed;">
<span style="border: 0px; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;">Practical experience</span><span dir="rtl" lang="AR-JO" style="border: 0px; font-family: Arial, sans-serif; font-size: 12pt; line-height: 18.18181800842285px; margin: 0px; padding: 0px;"></span></div>
</div>
<h2 style="background-color: white; color: #ff9900; font-family: 'Segoe UI', Arial, sans-serif; font-size: 20px; margin: 20px 0px 11px;">
Download</h2>
<div>
<a href="http://www.4shared.com/zip/s-BcKWiw/PageItemsTest.html?" target="_blank">Download Here</a></div>
<div id="LicenseTerms" style="background-color: white; border: 0px; color: #111111; font-family: 'Segoe UI', Arial, sans-serif; font-size: 13.63636302947998px; margin: 0px; padding: 0px;">
<br /></div>
</div>
Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-74479458321217578332012-07-28T22:55:00.001+03:002012-07-28T22:55:57.253+03:00WS has stopped unfortunately<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
Bug at runtime<br />
WS has stopped unfortunately<br />
and logcat log that could not find <br />
developing Android application using Eclipse and ADT plugin , when try to call asp.net web service from android application and log cat log that Could not find class 'org.ksoap.serialization.SoapObject'<br />
The solution that work with me and I took from stackoverflow<br />
<br />
<br />
I managed to solve the problem by<br />
<br />
Creating a folder "libs" in the project<br />
Copying the external jars in to the folder<br />
Refresh the folder<br />
Go to properties -> Build path -> Add Jar (not external JAR)<br />
Clean the project<br />
Restart Eclipse<br />
Boom it worked for me. Hope it'll help others too.<br />
</div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com1tag:blogger.com,1999:blog-525206061718248496.post-59038174366984459002012-05-03T14:37:00.001+03:002012-05-03T14:37:22.247+03:00Unable to find an entry point named EnumerateSecurityPackagesW in DLL security.dll<div dir="ltr" style="text-align: left;" trbidi="on">
This bug occurs because I had class library called security at my project , when I renamed this class library everything work fine </div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-74107621453631020342011-12-20T22:03:00.000+02:002011-12-23T20:46:47.232+02:00My Graduation Project Pictures<div dir="ltr" style="text-align: left;" trbidi="on">
<h2>My father took the below pictures during the presentation of our graduation project at the beginning of the June 2011</h2>
<p>
<h3>
The slides of the presentation was displayed by our Notebook and projector of our university , we met before the beginning of the presentation we set the projector and revise the presentation and the role of each one.
</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img189.imageshack.us/img189/324/72979199.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img189.imageshack.us/img189/324/72979199.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img221.imageshack.us/img221/2765/92316262.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img221.imageshack.us/img221/2765/92316262.jpg" /></a></div>
</p>
<p>
<h3>Committee discussion from the right : instructor Atef Abu-Salim,Dr. Adel Muhamed , and Dr. Emad Quaddoura the supervisor of our graduation project
</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img42.imageshack.us/img42/8693/95161909.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img42.imageshack.us/img42/8693/95161909.jpg" /></a></div>
</p>
<p>
<h3>
We create a Cab project and represents our Windows mobile Call-Block into cab file , and installed it on second hand HTC smart phone.This smart phone is based on Windows mobile 5 , our project is compatible to work on Windows Mobile 5 to Windows Mobile 6
Installing the Windows Mobile Call-Block on a real smart phone enable us to test the application on real smart phone , the emulator sufficient for development time .But , the Black-Box testing on the emulator does not discover the system bugs till we deployed on real environment .And so , we had system free of bugs at our presentation</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img576.imageshack.us/img576/1077/12006333.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img576.imageshack.us/img576/1077/12006333.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img856.imageshack.us/img856/8530/19693186.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img856.imageshack.us/img856/8530/19693186.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img839.imageshack.us/img839/4717/93781860.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img839.imageshack.us/img839/4717/93781860.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img685.imageshack.us/img685/8586/39027859.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img685.imageshack.us/img685/8586/39027859.jpg" /></a></div>
</p>
<p>
<h3>Presenting my own part of the slides</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img840.imageshack.us/img840/8374/66019519.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img840.imageshack.us/img840/8374/66019519.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img52.imageshack.us/img52/6205/94476290.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img52.imageshack.us/img52/6205/94476290.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img855.imageshack.us/img855/7929/61993250.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img855.imageshack.us/img855/7929/61993250.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img407.imageshack.us/img407/2281/93562246.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img407.imageshack.us/img407/2281/93562246.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img267.imageshack.us/img267/6172/58462005.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img267.imageshack.us/img267/6172/58462005.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img808.imageshack.us/img808/6647/29878125.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="2048" src="http://img808.imageshack.us/img808/6647/29878125.jpg" /></a></div>
</p>
</div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-52295244165356534842011-12-17T13:39:00.000+02:002012-01-11T22:11:52.209+02:00Common Work Interviews Questiones<div dir="ltr" trbidi="on">
<div>
<p>
<ol>
Table Of Contents
<li>Part 1: Basics of the .net languages (C# and VB.Net) and OOP</li>
<li>Part 2: Web development (in context of asp.net 2.0 – 4.0 and MS SQL Server 2005 & 2008)
<ul>
<li>Part 2.1 web basics and related technologies</li>
<li>Part 2.2 web security</li>
<li>Part 2.3 WCF and related technologies</li>
</ul>
</li>
<li>Part 3: Microsoft SQL Server 2005 & 2008</li>
</ol>
</p>
<h2>
Part 1: Basics of the .net languages (C# and VB.Net) and OOP</h2>
<p>
<h3>What are the main .net data types?</h3>
Boolean ,Byte , Char , Date, Decimal , Double , Integer , Long ,Object ,Short ,Single ,String ,float , User-Defined Data Type and others.
</p>
<p>
<h3>
What is the .Net framework architecture?</h3>
Of course the OS is not a part of the .Net framework! It presents at the diagram for conventionally reason.
</p>
<p>
<h3>
What are the differences between struct and class?
</h3>
<table border="1">
<tr>
<th>Struct</th><th>Class</th></tr>
<tr><td>are value types</td><td> are reference types</td></tr>
<tr>
<td>All of the members of a struct are public by default</td>
<td>All of the members of a class are private by default.</td>
</tr>
<tr>
<td> There is no inheritance for Structs as there is for classes. A struct cannot be inherited from another struct or class, and it cannot be the base of a class.</td>
<td> You can have a base class and derived class, where the derived class has the ability to use protected members of the base class. For example, developer can override the protected method(s) of its base class.</td>
</tr>
<tr>
<td> When you create a struct object using the new operator, it gets created and the constructor is called.<br/>
Structs can be instantiated without using the new operator. If you do not use new operator, the fields will remain unassigned and the object cannot be used until all of the fields are initialized.</td>
<td>To instantiate a class you need to use the new operator or take the risk of throwing a null reference exception at run time</td>
</tr>
</table>
</p>
<p>
<h3>What is the difference between reference and value data types?</h3>
Value type holds the data within its own memory allocation. A reference type contains a pointer to another memory location that holds the data.
</p>
<p>
<h3>
Mention the value and reference data types</h3>
The value types consist of two main categories: Structs, Enumerations.<br/>
Struct : falls into these categories: Numeric types , Integral types (sbyte , Byte , char ,short ,ushort,int,uint,long, ulong), Floating-point types (double float), decimal, bool , User defined Structs.<br/>
Reference types include the following: String, Object, Class types, delegates, and all arrays even if their elements are value types
</p>
<p>
<h3>What are the differences between boxing and unboxing?</h3>
Boxing: is an implicit conversion of a Value Types to the type Object or to any interface type implemented by this value type. Boxing is used to store value types in the garbage-collected heap, boxing a value type means allocating an object instance on the heap and copies the value into the new object.
<br/>
Unboxing: is an explicit conversion from the type Object to a value type or from an interface type to a value type that implements the interface.<br/>
An unboxing operation consists of: 1. Checking the object instance to make sure it is a boxed value of the given value type. 2. Copying the value from the instance into the value-type variable.
</p>
<p>
<h3>What is the inheritance and polymorphism?</h3>
Inheritance: is an object oriented (OO) concept permits you to use the existing features of a class. Derived class can reuse and override (for methods) the members of the base class .The main advantage of inheritance is code reusability, which is of great help in the case of distributing class libraries.<br>
Polymorphism: is an object oriented (OO) concept includes: overriding, overloading and composition. Polymorphism allows classes to provide different implementations of a method that can be called in the same way. Polymorphism can be of three types: 1. inheritance polymorphism, 2. interface polymorphism and 3. Polymorphism through abstract classes.
</p>
<p>
<h3>What are the access modifiers?</h3>
Access modifiers are keywords used to specify the declared accessibility of a member or a type. The four access modifiers: public, protected, internal and private.
</p>
<p>
<h3>What are the accessibility levels provide by access modifiers?</h3>
Public: Access is not restricted.<br/>
Protected: Access is limited to the containing class or types derived from the containing class.<br/>
Internal: Access is limited to the current assembly.<br/>
Protected internal: Access is limited to the current assembly or types derived from the containing class.<br/>
Private: Access is limited to the containing struct or class.
</p>
<p>
<h3>Friend access modifiers</h3>
The Friend keyword confers friend access on one or more declared programming elements. Friend elements are accessible from within the program that contains their declaration and from anywhere else in the same assembly.<br/>
The Friend keyword can be used in conjunction with the protected keyword in the same declaration. This combination confers both friend and protected access on the declared elements, so they are accessible from the same assembly, from their own class, and from any derived classes.
</p>
<p>
<h3>What is LINQ? </h3>
Language-Integrated Query (LINQ) is a set of features introduced in Visual Studio 2008 that extends powerful query capabilities to the language syntax of C# and Visual Basic. LINQ introduces standard, easily-learned patterns for querying and updating data, and the technology can be extended to support potentially any kind of data store. Visual Studio includes LINQ provider assemblies that enable the use of LINQ with .NET Framework collections, MS SQL Server databases, ADO.NET Datasets, and XML documents.
</p>
<p>
<h3>What is lambda expression?</h3>
A lambda expression is an anonymous function that can contain expressions and statements, and can be used to create delegates or expression tree types.<br/>
All lambda expressions uses the lambda operator =>, which is read as "goes to". The left side of the lambda operator specifies the input parameters (if any) and the right side hold the expression or statement block.
</p>
<p>
<h3>How to create Read only property</h3>
Either Read-only keyword or implements property with implementation of the get only without set implementation
</p>
<p>
<h3>DataSet</h3>
DataSet.Clone Method<br/>
Crates a new DataSet with the same schema as the current DataSet, but none of the data.<br/>
DataSet. Copy Method <br/>
Creates a new DataSet with the same schema (table schemas, relations, and constraints) and data as this DataSet.<br/>
DataSet.CaseSensative property <br/>
Gets or sets a value indicating whether string comparisons within DataTable objects are case-sensitive.<br/>
</p>
<p>
<h3>Compilation of .net languages </h3>
Microsoft’s .Net framework relies on just in time compilation (JIT) compilation for high-speed code execution. Just-in-time compilation (JIT), also known as dynamic translation, it is a method to improve the runtime performance of computer programs.
</p>
<h2>Part 2: Web development (in context of asp.net 2.0 – 4.0 and MS SQL Server 2005 & 2008)</h2>
<h2>Part 2.1 web basics and related technologies</h2>
<p>
<h3>What is n-tier application?</h3>
Multi-tier architecture (referred to as n-tier architecture) is a client–server architecture in which the presentation (UI layer), the application processing (business logic layer), and the data management (data model layer) are logically separate processes.<br/>
UI tier: user interface layer for data representation and maybe data validation, Included: user controls, web forms, web user controls integration and others.<br/>
Business logic layer: can be local classes on the web application and / or web services distributed over the WWW on different machines.<br/>
Model tier: the data base, relations and referential constrains (primary key, foreign key, check conditions and other data base constraints)
</p>
<p>
<h3>What is PostBack? </h3>
PostBack is the name given to the process of submitting an ASP.NET page to the server for processing. For example, PostBack is done if certain credentials of the page need to be checked against a database values (such as verification of username and password).
</p>
<p>
<h3>What is autopost back?</h3>
AutoPostBack property: a property of some server side controls .When this property enabled the web page will be posted back to the server, based on a certain event. For example, enabling this property for asp.net text box will call the related text changed event handler on the server when the event Text Changed is fired (user write a character, symbol or number on the asp.net text box).
</p>
<p>
<h3>Server side and client side state management</h3>
Server side state management: Cach, Session, Application and data base. On the other side, client side are: ViewState (encrypted hidden field), hidden fields, cookies (either stored at the client volatile memory –RAM technology is the commonly used - or persisted as a text file stored on the client machine)
</p>
<p>
<h3>What are the differences between ViewState and Session?</h3>
ViewState (client side state management) at run time in described as encrypted hidden field in the html page at the client side to maintain values among different user request for the same page , server side controls like text boxes have the property of ViewState(Server side state management) enabled by default. On the other hand, session represents memory locations on the web server maintains data during the request of different web pages
</p>
<p>
<h3>
What is Machine.config File?</h3>
Machine.config file is used to configure the application according to a particular machine. That is, configuration done in Machine.Config file, which is affected on any application that runs on a particular machine (web server for example).
</p>
<p>
<h3>What is Web.Config?</h3>
Xml file exists at the asp.net application to configure the asp.net applications
</p>
<p>
<h3>What can be stored in web.config file?</h3>
There are number of important settings that can be stored in the configuration file. The most frequently used configurations, stored conveniently inside web.config file: Database connections (such as connectionString), Session States (such as session state time out), Error Handling, Security (such as authentication and authorization related tags).
</p>
<h2>Part 2.2 web security</h2>
<p>
<h3>
Forms authentication and windows Authentication
</h3>
<table border="1">
<tr>
<th>Windows Authentication</th>
<th>Forms Authentication</th>
</tr>
<tr>
<td>More secure way , each user needs to be registered at the domain</td>
<td>More practical for websites , which have a serious number of users</td>
</tr>
<tr>
<td>Better for publicly published web sites</td>
<td>Good for intranet web sites</td>
</tr>
<tr>
<td>Default authentication way</td>
<td>Needs to be configured at the web.config file</td>
</tr>
</table>
</p>
<h2>Part 2.3 WCF and related technologies </h2>
<p>
<h3>What are XSD, XML, and XSLT?</h3>
XML (Extensible Markup Language): XML is a markup language much like HTML. But, XML was designed to carry data, not to display data like HTML. Also, XML tags are not predefined you must define your own tags.<br/>
XSD (XML Schema Definition): XSD specifies how to formally describe the elements in XML document. This description can be used to verify that each item of content in a document adheres to the description of the element in which the content is to be place
<br/>
XSLT (Extensible Style sheet Language Transformations) has evolved from the early Extensible Style sheet Language (XSL). standard. XSLT specifies a language definition for XML data presentation and data transformations, where data presentation means displaying data in some format and/or medium, Presentation is about style and data transformation means parsing an input XML document into a tree of nodes, and then converting the source tree into a result tree, and Transformation is about data exchange.
</p>
<p>
<h3>What is JSON? </h3>
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write, JSON easy for machines to parse and generate.<br/>
JSON is built on two structures:
<ul>
<li>A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
</li>
<li>An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.
</li>
</ul>
</p>
<p>
<h3>What is WCF metadata?</h3>
WCF services use metadata to describe how the client can interact with the service's endpoints (endpoint includes the ABC where A stands for address, B for binding and C for contract).The tools, such as svcutil.exe, automatically generate client metadata code for accessing the service. WCF metadata.
</p>
<h2>Part 3: Microsoft SQL Server 2005 & 2008</h2>
<h2>Part 3.1 Basics and general concepts</h2>
<p>
<h3>Can you restore a deleted object of MS SQL Server?</h3>
No you can’t, unless you have a backup
</p>
<p>
<h3>How you maintain your data base at MS SQL Server?</h3>
Automate an MS SQL Server job using MS SQL Server Agent to back up the data base periodically, you can add configuration to send a daily informational e-mail for the intended operator(s) when the backup completed.
</p>
<h2>Part 3.2 T-SQL related questions</h2>
<p>
<h3>Difference between NCHAR, CHAR, NVARCHAR</h3>
Difference between VARCHAR and NVARCHAR data types<br/>
An NVARCHAR column can store any Unicode data. A VARCHAR column is restricted to an 8-bit code page. And so, NVARCHAR provides better ability to work with universal languages such as Chinese symbols
Differences between VARCHAR and CHAR data types<br/>
CHAR should be used for storing fix length character strings, unused spaces will be space/blank padded before stored on disk. And so, if this type is used to store variable length strings, it will waste a lot of disk space. On the other hand, VARCHAR return the unused space to be available memory spaces.
</p>
<p>
<h3>Difference between “TRUNCATE TABLE table1”and “DELETE * FROM table1”</h3>
“TRUNCATE TABLE table1”: MS SQL Server will NOT log this operation at the log file, this command removes all the rows at the “table1”, and the truncate command is a DDL command this means it can NOT be rolled back
“DELETE * FROM table1”: MS SQL Server will log this operation at the log file, this command delete all the rows from “table1” , and the DELETE command is a DML command this means it can be rolled back.
</p>
<p>
<h3>What is stored procedure?</h3>
A stored procedure is a group of Transact-SQL statements compiled into a single execution plan.
</p>
<p>
<h3>Performance wise of using stored procedures</h3>
<ul>
<li>Precompiled execution. MS SQL Server compiles each stored procedure once and then reutilizes the execution plan.</li>
<li>Reduced client/server traffic. Instead of send sql query over the network to data base engine , only the stored procedure name and related parameters will be sent.</li>
<li>Efficient reuse of code and programming abstraction. Stored procedures can be used by multiple users and client programs. If you utilize them in a planned manner, you'll find the development cycle takes less time.</li>
<li>Enhanced security controls. On the MS SQL Server level you can grant users permission to execute a stored procedure independently of underlying table permissions.</li>
</ul>
</p>
<p>
<h3>Types of MS SQL Server functions </h3>
Scalar User-Defined Function: return a single value.<br/>
Inline Table-Value User-Defined Function: return a table, its structure defined at the run time.<br/>
Multi-statement Table-Value User-Defined Function: return a table, its structure defined at the function implementation .And so, this function usage provides better in performance than inline table valued function.<br/>
</p>
<h3>
References</h3>
Edited by Omar Adnan Isaid<br />
http://msdn.microsoft.com/en-us/library/ms123401.aspx<br />
http://www.albahari.com/valuevsreftypes.aspx<br />
http://www.expresscomputeronline.com/20021118/techspace2.shtml<br />
http://www.dotnetspark.com/qa/1767-difference-between-datasetclone-and-datasetcopy.aspx<br />
http://www.json.org/<br />
http://www.w3schools.com/xml/xml_whatis.asp<br />
http://searchsoa.techtarget.com/definition/XSD<br />
http://dotnet.tekyt.info/?p=30<br />
http://www.programcall.com/2/aspnet/autopostback-in-aspnet.aspx<br />
http://www.albahari.com/valuevsreftypes.aspx<br />
http://www.expresscomputeronline.com/20021118/techspace2.shtml<br />
http://www.dotnetspark.com/qa/1767-difference-between-datasetclone-and-datasetcopy.aspx<br />
http://www.json.org/<br />
http://www.w3schools.com/xml/xml_whatis.asp<br />
http://searchsoa.techtarget.com/definition/XSD<br />
http://dotnet.tekyt.info/?p=30<br />
http://www.programcall.com/2/aspnet/autopostback-in-aspnet.aspx<br />
http://www.codersource.net/asp-net/asp-net-advanced/asp-net-web-config-configuration-file.aspx<br />
http://stackoverflow.com/questions/144283/what-is-the-difference-between-varchar-and-nvarchar<br />
http://www.orafaq.com/faq/what_is_the_difference_between_varchar_varchar2_and_char_data_type<br />
http://buchananweb.co.uk/security12.aspx<br />
http://geekswithblogs.net/mahesh/archive/2006/10/11/93753.aspx<br />
http://www.sql-server-performance.com/2003/stored-procedures-basics/<br />
http://www.sqlteam.com/article/user-defined-functions<br />
http://en.wikipedia.org/wiki/Main_Page<br/>
</p>
</div>
</div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com1tag:blogger.com,1999:blog-525206061718248496.post-1523432428124101102010-09-09T21:58:00.000+03:002011-12-23T20:48:02.948+02:00My Windows Mobile Call-Block (User Guide)<div>
<h2>Getting start with My Windows Mobile Call-Block</h2>
<p>
After install the Cab file of My Windows Mobile Call-Block on your Windows Mobile phone , click on the icon of the application on your programs list , <i>the Main Menu</i> form will appear
<table><tr> <td >
<img src="http://a.imageshack.us/img841/7812/basic1.jpg" width="200" height="300" alt="Main Menu Form , Menu tab" />
</td> </tr>
<tr> <td width="200">
Figure 1.1 : <i>Main Menu</i> Form , <i>Menu</i> tab
</td> </tr>
</table>
<ol><li>click on the the button titled with Enable Call-Block , responsible to enable or disable the application</li>
<li>click on the button titled with <i>Settings</i> ,which is the gate to configure the groups of the application </li>
<li>click on the tab titled with <i>FireWall Settings</i> , to view the firewall settings </li>
</ol>
</p>
<h2>How to configure firewall settings
</h2><p><ol><li>click on the tab FireWall Settings</li>
<li>check on <i>checkBox</i> labeled with <i>Reject all calls</i> to reject all calls , and click on the <i>checkBox</i> labeled with <i>exclude</i> to exclude a group of contacts from the call rejection (sure how to create a new group will be discussed later) </li>
<table><tr> <td>
<img src="http://a.imageshack.us/img338/5936/firewallt.jpg" width="200" height="300" alt="Main Menu , firewall tab"/>
</td> </tr>
<tr> <td width="200" class="tdStyle">Figure 2.1 : <i>Main Menu</i> Form , all calls seem to be rejected</d>
</tr>
</table>
<li>Check the <i>checkBox</i> labeled with <i>Reject unknown calls</i> to reject the calls from outside your phone book
</li>
<table><tr><td>
<img src="http://a.imageshack.us/img6/2346/firewall2o.jpg" width="200" height="300" alt="Main Menu , Firewall tab"/>
</td> </tr>
<tr> <td width="200">
Figure 2.2 : <i>Main Menu</i> form , unknown calls seem to be rejected
</td> </tr>
</ol></table></p><h2>How to create a new group
</h2><p><ol><li>click on settings button (see figure 1.1) , the <i>Group List</i> form will appear </li>
<table><tr> <td>
<img src="http://a.imageshack.us/img543/5860/newgroup3.jpg" width="200" height="300" alt="Group List"/>
</td> </tr>
<tr> <td width="200">
Figure 3.1 : <i>Group List</i> form , no groups defined yet
</td> </tr>
</table><li>From the <i>Group List</i> form click on the <i>NewGroup</i> item from the <i>Options</i> menu
</li>
<li>
The <i>Add New Group</i> form will appear .And so, the user can choose the suitable name and suitable call status for the group then click ok
</li>
<table><tr> <td>
<img src="http://a.imageshack.us/img52/455/newgroup2.jpg" width="200" height="300" alt="Add New Group"/>
</td> </tr>
<td width="200">
Figure 3.2 : The <i>Add New Group</i> Form , the user choose Friends as the name of the new group and open the call status <i>ComboBox</i> to choose the initialized call status for the group
</td>
<tr> </tr>
</table><li>Pressing Ok at the <i>New Group</i> form , Now a new group called <i>Friends</i> is created </li>
<table class ="tableStyle"><tr> <td>
<img src="http://a.imageshack.us/img268/2744/23735298.jpg" width="200" height="300" alt="Group List ,friend group" />
</td> </tr>
<tr> <td width="200">
Figure 3.3 : <i>Group List</i> form , a group called friends is created and you can see the items of the menu <i>Options</i>
</td> </tr>
</table></ol>
</p>
<h2>How to change a group call status</h2><ol><li>From the Group List form check the <i>CheckBox</i> beside the group you want to change its call status</li>
<table><tr> <td width="200">
<img src="http://a.imageshack.us/img836/939/changestatus1.jpg" width="200" height="300" alt="Group List , change status"/>
</td> </tr>
<tr> <td width="200">
Figure 4.1 : <i>Group List</i> form , the <i>CheckBox</i> beside the group Friends is checked
</td> </tr>
</table><li>click on the soft key <i>Change Status</i> to change the call status to Busy-SMS</li>
<table><tr> <td>
<img src="http://a.imageshack.us/img541/7844/cccuw.jpg" width="200" height="300" alt="Group List , change status"/>
</td> </tr>
<tr> <td width="200">
Figure 4.2 : <i>Group List</i> form , the call status of the group Friends is changed to <i>Busy-SMS</i>
</td> </tr>
</table><li>if you repeat the steps 1 & 2 & 3 the call status of the group becomes FastBusy , and if repeat 1 & 2 & 3 steps again the call status return to become Allowed
</li>
</ol>
<h2>How to View & Add the contacts to a group </h2><ol><li>From the Form <i>Group List</i> (see figure x) select the name of the group ,you want to Add/View its contacts</li>
<li>Select the sub item <i>Contacts</i> from the item <i>View</i> at the <i>Options</i> menu
</li>
<li>The contacts of the group will be viewed (if exists !)</li>
<table><tr> <td>
<img src="http://a.imageshack.us/img534/1977/98670782.jpg" width="200" height="300" alt="Members of friends group"/>
</td> </tr>
<tr> <td width="200">
Figure 4.3 : The group Friends has no members yet
</td> </tr>
</table><li>choose the item <i>Add Members</i> from the Options menu, to view the list of phone book contacts</li>
<table><tr> <td>
<img src="http://a.imageshack.us/img714/7381/addcontacts.jpg" width="200" height="300" alt="The Mobile phone book"/>
</td> </tr>
<tr> <td width="200">
Figure 4.4 : The user try to add three contacts at the phone book to be included at the Friends group
</td> </tr>
</table><li>Check the <i>CheckBox(s)</i> beside the name of the contact(s) you want to add to the group and click ok </li>
<li>The chosen contacts will appear at the form supposed to view the contacts</li>
<table><tr> <td>
<img src="http://a.imageshack.us/img685/4150/contactlistw.jpg" width="200" height="300" alt="Add Members"/>
</td> </tr>
<tr> <td width="200">
Figure 4.5 : Three contacts added for the group Friends
</td> </tr>
</table></ol>
<h2>How to remove a contact from a group</h2><ol><li>From the form supposed to view the group members , select the contact you want to remove it</li>
<table><tr><td>
<img src="http://a.imageshack.us/img339/3682/12452435.jpg" width="200" height="300" alt="Remove Remember"/>
</td> </tr>
<tr> <td width="200">
Figure 5.1 : a member removed from the group friends
</td> </tr>
</table><li>Select the item <i>Remove Member</i> from the Options menu</li>
<table><tr> <td>
<img src="http://a.imageshack.us/img266/8711/62845988.jpg" width="200" height="300" alt="Remove member"/>
</td> </tr>
<tr> <td width="200">
Figure 5.2 : a member removed from the group Friends
</td> </tr>
</table></ol></div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com1tag:blogger.com,1999:blog-525206061718248496.post-3891925633961066012010-09-09T14:07:00.000+03:002011-12-23T21:14:21.163+02:00My Windows Mobile Call-Block (Specification)<p>
<h2>What the servies the system can provide for its user</h2>
<ol><li>Reject all calls
<ul><li>exclude a Windows Mobile Call-Block contacts' group OR</li>
<li>exclude NO Windows Mobile Call-Block contacts' group</li>
</ul></li>
<li>Reject unknown calls</li>
<li>Enable/ Disable the feature</li>
<li>Categorize the contacts into groups and apply a call status of a group</li>
<li>The user defined group of contacts can have the following call status<ul><li>Allowed : The feature shall do nothing with the incoming call from contact at a Windows Mobile Call-Block group </li>
<li>Busy-SMS : the feature shall reject the call and replay with predefined apologize short message text from contact at a group</li>
<li>Fast Busy : the feature shall reject the incoming call only from contact at a Windows Mobile Call-Block group</li>
</ul></li>
<li>User can add/remove a Windows Mobile Call-Block group according to his criteria</li>
<li>User can add contact(s) from the phone book at his/her phone book , The changes on phone book will be reflected back to the feature configuration
<ul><li>Remove a contact from the phone book will be removed from the included Windows Mobile Call-Block group at the call block feature</li>
<li>change the contact name/mobile phone from the phone book will be removed from the included at a Windows Mobile Call-Block group at the call block feature</li>
</ul>
</li>
<li>You can remove any contact from a Windows Mobile Call-Block group any time you wish</li>
</ol>
</p>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-74190195130037899272010-09-09T00:54:00.000+03:002011-12-23T21:14:34.890+02:00My Windows Mobile Call-Block (Overview)<p>Windows Mobile Call-Block is the system named my graduation project course in My university Jami'at Al-Ulum Al-Tatbiqiya 2006 – 2010 , I got 97 % at this course having an excellence certificate for this achievement.Windows mobile Call-Block was one of Dr.Emad Quaddoura suggested ideas for students graduation projects in 2010 year.I developed my graduation project system using Visual Studio 2008 as IDE (integrated development environment) , using Device Application technology supported by Windows mobile 6 SDK professional edition. My developing language was C#.Net , and I reused a class library written by C++ , called cordel.dll intended for mobile ce application.I reused only a methods from this component.
</p><p><h2>What is the new in my Windows mobile Call Block</h2>Of course I expected some one to say , your application is already exist .And so, can I know why the need to re invent the wheel .My answer is I added a new features to already exist windows Mobile Call-Block and I added some of the features of Call Firewall ,searching over WWW you can understand what I mean by call firewall (adding call firewall features was after my graduation project course),and the contacts distinguished as a blocked one have different treatment between reject with an apologize short text message (SMS) or just have the busy treatment.
My Windows Mobile Call-Block need from its user to categorize the desired contacts into user defined groups , then the user can define the suitable call treatment for each group , Of Course, blocking contact by contact is NOT the block style any more !!!
</p>
<p><h2>What about the adds-on Call Firewall features</h2>
Of course , searching on WWW you can find the call firewall .But , again I am not the person , who re invent the wheel .Hence , I understood the concept of Call Firewall , deploying some of call firewall concepts in my Windows mobile Call-Block in a useful and practical manner.The adds-on features can help the user to reject all call OR reject unknown calls .In case of reject all calls you can choose the group you want to exclude from the automatic rejecting , it worthies to say I added the Call Firewall adds-on features after the graduation project course.
</p><p><h2>What is the secrets of my success</h2><ol><li>Dr. Emad always told me "do not give up"</li>
<li>posting my questions on MSDN forum , that have the enough care from MSDN Forum members</li>
<li>googling my question , their keyword </li>
<li>Professional Microsoft Smartphone Programming , Baijian Yang (Author) , Pei Zheng (Author), Lionel M. Ni (Author)</li>
</ol></p>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com2tag:blogger.com,1999:blog-525206061718248496.post-53008054168547552262010-09-04T00:50:00.000+03:002012-01-20T00:13:02.333+02:00Scripting XO Game<script type="text/javascript">
var COMPUTER_WON=0;
var USER_WON=1;
var NO_ONE_WON=2;
var COMPUTER_TURN=3;
var USER_TURN=4;
var x_pic=5;
var o_pic=6;
var bush_pic=7;
var TURN=USER_TURN;
var state=NO_ONE_WON;
var cells=[,bush_pic,bush_pic,bush_pic,bush_pic,bush_pic,bush_pic,bush_pic,bush_pic,bush_pic];
var count_cells=0;
state=NO_ONE_WON;
document.getElementById(1).src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg";
cells[1]=bush_pic;
var j=1
for(;j<=9;j++)
{
document.getElementById(j).src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg";
cells[j]=bush_pic;
}
document.getElementById("state").innerHTML="Click on George W. Bush Picture";
document.getElementById("onlybutton").disabled="true";
function cell_clicked(cell)
{
if(cells[cell]!=bush_pic)
{
return;
}
if(cell==1&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_row_0()||check_cross())
{
state=USER_WON;
}
}
if(cell==2&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_row_0()||check_col_1())
{
state=USER_WON;
}
}
if(cell==3&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_2()||check_row_0()||check_cross2())
{
state=USER_WON;
}
}
if(cell==4&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_row_1())
{
state=USER_WON;
}
}
if(cell==5&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_cross()||check_cross2()||check_row_1()||check_col_1())
{
state=USER_WON;
}
}
if(cell==6&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_row_1()||check_col_2())
{
state=USER_WON;
}
}
if(cell==8&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_1()||check_row_2())
{
state=USER_WON;
}
}
if(cell==9&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_cross()||check_col_2()||check_row_2())
{
state=USER_WON;
}
}
if(cell==7&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_cross2()||check_row_2())
{
state=USER_WON;
}
}
if(state==NO_ONE_WON&&count_cells<9)
{
TURN=COMPUTER_TURN;
do
{
cell=Math.floor(Math.random()*9+1)
}
while(cells[cell]!=bush_pic);
if(cell==1&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_row_0()||check_cross())
{
state=COMPUTER_WON;
}
}
if(cell==2&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_row_0()||check_col_1())
{
state=COMPUTER_WON;
}
}
if(cell==3&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_2()||check_row_0()||check_cross2())
{
state=COMPUTER_WON;
}
}
if(cell==4&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_row_1())
{
state=COMPUTER_WON;
}
}
if(cell==5&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_cross()||check_cross2()||check_row_1()||check_col_1())
{
state=COMPUTER_WON;
}
}
if(cell==6&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_col_2())
{
state=COMPUTER_WON;
}
}
if(cell==8&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_1()||check_row_2())
{
state=COMPUTER_WON;
}
}
if(cell==9&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_cross()||check_col_2()||check_row_2())
{
state=COMPUTER_WON;
}
}
if(cell==7&&state==NO_ONE_WON)
{
fill_grid(cell);
fill_Array(cell);
if(check_col_0()||check_cross2()||check_row_2())
{
state=COMPUTER_WON;
}
}
TURN=USER_TURN;
}
if(count_cells==9&&state==NO_ONE_WON)
state=600;
print();
}
function check_row_2()
{
if(TURN==USER_TURN)
{
if(cells[7]==o_pic&&cells[8]==o_pic&&cells[9]==o_pic)
return true
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[7]==x_pic&&cells[8]==x_pic&&cells[9]==x_pic)
return true
else return false;
}
}
function check_row_1()
{
if(TURN==USER_TURN)
{
if(cells[4]==o_pic&&cells[5]==o_pic&&cells[6]==o_pic)
return true ;
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[4]==x_pic&&cells[5]==x_pic&&cells[6]==x_pic)
return true ;
else return false;
}
}
function check_col_2()
{
if(TURN==USER_TURN)
{
if(cells[3]==o_pic&&cells[6]==o_pic&&cells[9]==o_pic)
return true;
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[3]==x_pic&&cells[6]==x_pic&&cells[9]==x_pic)
return true;
else return false;
}
}
function check_col_1()
{
if(TURN==USER_TURN)
{
if(cells[2]==o_pic&&cells[5]==o_pic&&cells[8]==o_pic)
return true;
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[2]==x_pic&&cells[5]==x_pic&&cells[8]==x_pic)
return true;
else return false;
}
}
function check_cross()
{
if(TURN==USER_TURN)
{
if(cells[1]==o_pic&&cells[5]==o_pic&&cells[9]==o_pic)
return true;
else
return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[1]==x_pic&&cells[5]==x_pic&&cells[9]==x_pic)
return true;
else
return false;
}
}
function check_col_0()
{
if(TURN==USER_TURN)
{
if(cells[1]==o_pic&&cells[4]==o_pic&&cells[7]==o_pic)
return true;
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[1]==x_pic&&cells[4]==x_pic&&cells[7]==x_pic)
return true;
else return false;
}
}
function check_row_0()
{
if(TURN==USER_TURN)
{
if(cells[1]==o_pic&&cells[2]==o_pic&&cells[3]==o_pic)
return true;
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[1]==x_pic&&cells[2]==x_pic&&cells[3]==x_pic)
return true;
else return false;
}
}
function fill_grid(cell)
{
if(TURN==USER_TURN)
document.getElementById(cell).src="http://a.imageshack.us/img638/7431/61163911.jpg"
else document.getElementById(cell).src="http://a.imageshack.us/img265/2904/58043354.th.jpg"
}
function fill_Array(cell)
{
if(TURN==USER_TURN)
cells[cell]=o_pic;
else cells[cell]=x_pic;
++count_cells;
}
function check_cross2()
{
if(TURN==USER_TURN)
{
if(cells[3]==o_pic&&cells[5]==o_pic&&cells[7]==o_pic)
return true;
else return false;
}
else if(TURN==COMPUTER_TURN)
{
if(cells[3]==x_pic&&cells[5]==x_pic&&cells[7]==x_pic)
return true;
else return false;
}
}
function print()
{
if(state==NO_ONE_WON)
document.getElementById("state").innerHTML="Click on George W. Bush Picture";
else if(state==600)
{
document.getElementById("state").innerHTML="NO ONE Won";
document.getElementById("onlybutton").disabled=false;
}
else
{
document.getElementById("onlybutton").disabled=false;
if(state==COMPUTER_WON)
document.getElementById("state").innerHTML="Computer Won";
else if(state==USER_WON)
document.getElementById("state").innerHTML="Player Won";
}
}
function resetfunc()
{
count_cells=0;
state=NO_ONE_WON;
for(var i=1;i<=9;i++)
{
document.getElementById(i).src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg";
cells[i]=bush_pic;
}
document.getElementById("state").innerHTML="Click on George W. Bush Picture";
document.getElementById("onlybutton").disabled="true";
}
</script>
<div>
<p>
Dear the below is my own implemented XO javascript game , I designed and implemented during the course named internet computing 1 , as a project of this course projects .I took this course at the second year during my studying in
Jami'at Al-Ulum Al-Tatbiqiya AMMAN , jordan , with the lecturer Dr.Hadel Ahmed.
I implemented my script XO game using javascript tags and functions , and HTML tags.
The XO grid is a simple HTML table of 3 X 3 , I mean three rows and three columns , each cell at the table contains an input element of type image
The start state to play , that the table cells contains the George W Bush pictures , click on any such picture to display the O picture and give the chance of X picture to be displayed in a random manner. X picture will be displayed in the HTML table in a random cell in the table according to the javascript random method , there is no algorithm to display the X pictures .And so , it is an easy task to win at this game ,Of course I am not very happy of this fact .But, I forced to do that .Due to, the course constraints I have not the enough time to design and implemented an Intelligent algorithm to beat any player ! -do not worry if I implemented such algorithm I will provide an optionality for beginner players- .On the other hand , I am proud with the efforts I spend on this game and on my ability to produce such a nice design and implementation
</p>
<p>
<table style="border-style:double;border-color:red;border-width:thick"border="3">
<caption style="font-size:16pt;font-weight:bolder;text-decoration:overline" align="center">
XO game using Java script
</caption>
<tr>
<td><input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(1)" id="1"/></td>
<td><input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(2)" id="2"/></td>
<td><input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(3)" id="3"/></td>
</tr>
<tr>
<td>
<input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(4)" id="4"/>
</td>
<td>
<input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(5)" id="5"/>
</td>
<td>
<input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(6)" id="6"/>
</td>
</tr>
<tr>
<td>
<input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(7)" id="7"/></td>
<td>
<input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(8)" id="8"/></td>
<td>
<input type="image" src="http://a.imageshack.us/img245/6818/fb26683d7992d0f6f16b3b2.th.jpg" width="120"height="120" onClick="cell_clicked(9)" id="9" value="pic9" /></td>
</tr>
</table><p>
<span style="font-size:15pt;color:red;font-weight:bolder" id="state">Click on George W. Bush Picture</span>
<p>
<input type="button"value="Click to play again" disabled="disabled" id="onlybutton"onclick="resetfunc()"/>
</p></p>
</p>
</div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-26179246998877661812010-08-14T15:38:00.000+03:002011-12-23T22:59:03.408+02:00My Agent Security Scenario: The Code-Decrypt Class<pre class="brush:java">
/*
Receive the message from encrypt Aglet
and do decryption operation
*/
//examples is the name of the folder where the all ASDK(Agent
//software development kit) Java mobile agents resides
//Sec is the sub folder at the examples folder , contains the
//java classes of my project
package examples.Sec;
//The package of com.ibm.aglet reused from the ASDK
//to have * after package name means to be able to
//reuse all the package classes in your project
import com.ibm.aglet.*;
//The Decrypt Aglet inherited from the subclass (remember
//base class concept if you are C\C++ programmer) Aglet
public class Decrypt extends Aglet
{
public String userName;
public String Password;
public boolean handleMessage(Message secretInfo)
{
if(secretInfo.sameKind("secretInformation"))
{
userName=new String((String)secretInfo.getArg("User Name"));
Global.array_char=userName.toCharArray();
Decrypt();
userName="";
userName=Global.array_in_string();
System.out.println("User Name after Decryption : "+userName);
/////////////////////////////////////////
Password=new String((String)secretInfo.getArg("Password"));
Global.array_char=Password.toCharArray();
Decrypt();
Password="";
Password=Global.array_in_string();
System.out.println("Password after Decryption : "+Password);
System.out.println();
dispose();
return true;
}
return false;
}
public void Decrypt()
{
Global.array_int=new int[10];
for(int h1=0;h1<Global.array_char.length;h1++)
{
Global.array_int[h1]=(int)Global.array_char[h1];
if(Global.array_int[h1]>=65&&Global.array_int[h1]<=90)
{
if((Global.array_int[h1]-3)<65)
{
Global.array_int[h1]=Global.array_int[h1]-3;
Global.array_int[h1]=65-Global.array_int[h1];
Global.array_int[h1]=91-Global.array_int[h1];
Global.array_char[h1]=(char)Global.array_int[h1];
}
else
{
Global.array_int[h1]=Global.array_int[h1]-3;
Global.array_char[h1]=(char)Global.array_int[h1];
}
}
else if(Global.array_int[h1]>=97&&Global.array_int[h1]<=122)
{
if((Global.array_int[h1]-3)<97)
{
Global.array_int[h1]=Global.array_int[h1]-3;
Global.array_int[h1]=97-Global.array_int[h1];
Global.array_int[h1]=123-Global.array_int[h1];
Global.array_char[h1]=(char)Global.array_int[h1];
}else
{
Global.array_int[h1]=Global.array_int[h1]-3;
Global.array_char[h1]=(char)Global.array_int[h1];
}
}
else Global.array_char[h1]=(char)Global.array_int[h1];
}
}
}
</pre>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-41952716105584377712010-08-14T15:36:00.000+03:002011-12-23T23:04:43.144+02:00My Agent Security Scenario: The Code-Encrypt Class<pre class="brush: java">
/*
This Aglet do the dispatching ,loading Sec information from the file
and encryption and return back to home to send values to Decrypt message
*/
//the folder examples contained in ASDK folders
//and considered by ASDK as default folder where
//to find all agent projects
//the folder Sec is sub folder at examples folder
//I created to place my java classes in
package examples.Sec;
//com.ibm.aglet is an aglet package has
//set of classes have to with aglet contained again
//in ASDK folders , the star (*) means to the ability
//to reuse all the classes at the package
import com.ibm.aglet.*;
//Interface MobilityListener support the methods
//have to do with aglet transfering for example
//onDispatching() called before the aglet dispatch
//since calling disaptch(URL) method
import com.ibm.aglet.event.*;
//package needed for networking applications,I import it
//since I need to use th URL java class to point for
//the host on the WWW , that contains the user name and password
import java.net.*;
//package at JDK contains the Scanner class and others
import java.util.*;
//Package contained into JDK contains the classes to handle
//I/O from data storage ,for example contains the File class
//to read or write from or to a simple file
import java.io.*;
public class Encrypt extends Aglet
{
//Declare the variables to handle the secret information
//from the remote host at the WWW
public String userName=new String();
public String password=new String();
//Declare and initialiation the indicators to
//determine the aglet location
//_At_Home status means the aglet newly created and
//did not transfere and read the secret information
//from the remote host and the dispatch method shall be called
public int _AT_HOME=0;
//_At_REMOTE means the aglet reached successfully to the
//remote host over the WWW containing the user name and the password
//and so the loading and encryption shall take place
public int _At_REMOTE=1;
//_Back_AT_HOME means the aglet read the secret information
//and encrypt them and return back to the home and the time is
//suitable to fill in tabular message and send them to the decrypt aglet
public int _Back_AT_HOME=2;
//_STATE can be _AT_HOME,_At_REMOTE,_Back_AT_HOME
public int _STATE=0;
//create interface to handle the file open,close,read
//or write
public static File infile=new File("C:/Secret.txt");;
public static Scanner input;
//help to store the secret infoemation in hash table with two
//columns one for keys and other for value , to reach val1 you
//need to know Key1
Message secretInformation=new Message("secretInformation");
//method executed when the aglet created,dispatched,reverted
//main operations of the aglet can take place here
public void run()
{
if(_STATE==_AT_HOME)
{
try
{
//the _STATE changed since next time the run()
//executed the aglet will be at remote host
_STATE=_At_REMOTE;
//the method will dispatch (say push !)
//to the URL specified staticall by the value :
//"atp://OMAR-PC:1024" at the object of type
//URL
dispatch(new URL("atp://OMAR-PC:1024"));
}//end try block
catch(Exception e)
{
//reaching to this block the failure
//to dispatch takes place
System.out.println("Error -- "+e);
}//end catch block
}//end if statement
else if(_STATE==_At_REMOTE)
{
//array will help the Encrypt() method
//to store each character in the user name and the
//password and value of ASCII code of each character
//at the user name and password
Global.array_char=new char[10];
Global.array_int=new int[10];
try
{
//Scanner class can hanbdle the read operation from
//text file contains the secret information
input=new Scanner(infile);
//read the user name from the file and store at the
//username variable using next() methos that will read entire
//line
userName=input.next();
//convert the user name from string to array of
//characters for issues have to with the methodology
//how encrypt method encrypt data
Global.array_char=userName.toCharArray();
//print the user name as clear text on the console
System.out.println("user name as clear text : "+userName);
encrypt();//call the encrypt method
userName="";
//convert the array of characters ,contains the characters
//of the username in encrypted manner,to string
userName=Global.array_in_string();
//read the password from the file and store at the
//password variable using next() methos that will read entire
//line
password=input.next();
//print the Password as clear text on the console
System.out.println("Password as clear text : "+password);
//convert the array of characters ,contains the characters
//of the username in clear text manner,to string
Global.array_char=password.toCharArray();
encrypt();//call the encrypt method
password="";
//convert the array of characters ,contains the characters
//of the password in encrypted manner,to string
password=Global.array_in_string();
System.out.println();
//print the username and the password in encrypted manner
System.out.println("user name after encryption : "+userName);
System.out.println("password after encryption : "+password);
System.out.println();
}//end try block
catch(Exception n)
{
//catch block can catch any type of exception , which
//may be fail to find the file to open
System.out.println("to open the file : "+n);
}//end catch block
try
{
//the _STATE changed since next time the run()
//executed the aglet will be at remote host
_STATE=_Back_AT_HOME;
//the method will dispatch (say push !)
//to the URL specified staticall by the value :
//"atp://OMAR-PC:4434" at the object of type
//URL that defines the aglet Home URL
//over WWW
dispatch(new URL("atp://OMAR-PC:4434"));
}//end try block
catch(Exception e)
{
//reach to this block means an exception
//takes place that may be failure to dispatch
System.out.println("Fail to return home ");
}//end catch block
}//end if statement
else if(_STATE==_Back_AT_HOME)
{
//filll the hash table at the object of type message
//that will contain two pairs one for the password and its keyword
//and the other the user name and the paired keyword
//setArg is a method at Message class takes two parameters
//to fill hash table one the key and the other is the value matched
//by the Key
secretInformation.setArg("User Name",userName);
secretInformation.setArg("Password",password);
try
{
//Father Aglet contains the decryptProxy that object
//of type AgletProxy that help to handle Decrypt Aglet
//and will be used here to send message to Decrypt Aglet
//I defined the decryptProxy as static variable at Father Aglet
//And so I can use it here at the current aglet
Father.decryptProxy.sendMessage(secretInformation);
dispose();//the current aglet killed here
}//end try block
catch(InvalidAgletException e)
{
//Signals that the aglet proxy
//is not valid any longer.
System.out.println("InvalidAgletException is thrown");
}//end catch block
catch(NotHandledException e)
{
//the message not handled by the
//destined to Aglet
System.out.println("NoHandledException is thrown");
}//end try block
catch(MessageException e)
{
//Signals that the exception occured
//while processsing the message.
System.out.println("MessageException thrown");
}//end catch block
catch(Exception e)
{
//The class Exception and its subclasses are
//a form of Throwable that indicates conditions
//that a reasonable application might want to catch
System.out.println("fail to send due to : "+e);
}//end catch block
}//end nested if have to do with aglet location
}//end the run() method
public void encrypt()
{
//for lop on the characters of the array of characters
//represents the clear text usename and password
for(int h1=0;
h1 < Global.array_char.length;h1++)
{
Global.array_int[h1]=(int)Global.array_char[h1];
if(Global.array_int[h1]>=97&&Global.array_int[h1]<=122)
{
//handle the lower case letters
if((Global.array_int[h1]+3)> 122)
{
//for example we have z we need to encrypt to
//c lower case letter and the below formula do that and then
//convert the ASCII code into letter again and store into array
//of characters
Global.array_int[h1]=Global.array_int[h1]+3;
Global.array_int[h1]=124-Global.array_int[h1];
Global.array_int[h1]+=96;
Global.array_char[h1]=(char)Global.array_int[h1];
}
else
{
//the process that you need to encrypt Only to
//move three forwarding steps in the alphabetical order
Global.array_int[h1]=Global.array_int[h1]+3;
Global.array_char[h1]=(char)Global.array_int[h1];
}
}
else if(Global.array_int[h1]>=65&&Global.array_int[h1]<=90)
{
//handle the upper case letters
if((Global.array_int[h1]+3)>90)
{
//for example we have Y we need to encrypt to
//B lower case letter and the below formula do that and then
//convert the ASCII code into letter again and store into array
//of characters
Global.array_int[h1]=Global.array_int[h1]+3;
Global.array_int[h1]=Global.array_int[h1]%90;
Global.array_int[h1]+=64;
Global.array_char[h1]=(char)Global.array_int[h1];
}
else
{
//the process that you need to encrypt Only to
//move three forwarding steps in the alphabetical order
Global.array_int[h1]=Global.array_int[h1]+3;
Global.array_char[h1]=(char)Global.array_int[h1];
}
}
//handle the case that the current item
//not english alphabetical letter
else Global.array_char[h1]=(char)Global.array_int[h1];
}//end for loop that check the characters of the array of characters
//contains the user name and password characters
}//end encrypt() method
}//end Encrypt Aglet
</pre>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-69683545937895669112010-08-14T15:35:00.000+03:002011-12-23T23:34:52.775+02:00My Agent Security Scenario: The Code -Father & Global Class<pre class="brush: java;">
//the folder Sec is sub folder at examples folder
//I created to place my java classes in
package examples.Sec;
//java class its memebers can be used by the Encrypt
//and Decrypt Aglets
public class Global
{
//arrray of characters to save the username and password in it
//before calling the ncrypt or decrypt method
public static char array_char[];
//at encrypt or decrypt method the character at
//array of characters need to be casted into ASCII
//value and stored at array of integers to encounter
//an arithmetic operation then the resulted value represent
//an ASCII code ,which will be casted to char and stored into
//the array of characters
public static int array_int[];
public static String array_in_string()
{
//this method store the content
//of the array of characters into
//string
String theString=new String();
for(int d=0;d < Global.array_char.length;d++)
{
//concatenation between the string content and
//the current char
theString=theString+Global.array_char[d];
}
//theString may be the username in encrypted or clear text manner
//thestring may be the password in encrypted or clear text manner
return theString;
}
}
</pre>
<pre class="brush: java;">/*
/*
This class represents the first trigger in the system
,that instatiating "Encrypt" aglet providing input for "Decrypt"
aglet
*/
package examples.Sec;
import com.ibm.aglet.*;
public class Father extends Aglet
{
//AgletProxy help to handle the Aglet
//that will be created by the Father Aglet
//I defined as static and public data members since
//I need to use decryptProxy to at the Encrypt Aglet
//to send Messge to Decrypt Aglet
public static AgletProxy encryptProxy;
public static AgletProxy decryptProxy;
public void onCreation(Object init)
{
try
{
//create the Encrypt and Decrypt Aglet
encryptProxy=getAgletContext().createAglet(getCodeBase(),
"examples.Sec.Encrypt",null);
decryptProxy=getAgletContext().createAglet(getCodeBase(),
"examples.Sec.Decrypt",null);
dispose();//kill the current Aglet
}//end try block
catch(Exception e)
{
System.out.println(e);
}//end catch block
}//end on Creation method that called only when
//the aglet created
}
</pre>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-88009875111930080152010-08-14T14:55:00.000+03:002011-12-23T20:42:42.694+02:00My Agent Security Scenario : The Discussion<h2 style="color:red">Implementation of Caesar algorithm using Java programming language based on Mobile agent approach<br />
Designed and Implemented by Omar Adnan Butros Isaid with ID 200530158<br />
This system implemented as homework during the course in special topics in faculty computer networks system, semester 20091</h2><h2>1.Preface</h2>The following papers represent the analysis of my implementation of ceaser cipher algorithm using Java language and Agent-oriented approach, after this analysis I enclosed the code of the system <br />
<p>This system consists of four classes :<br />
<ul><li><i>Father Aglet</i></li>
<li><i>Encrypt Aglet</i></li>
<li><i>Decrypt Aglet</i></li>
<li><i>Global class</i></li>
</ul></p>This four classes represents a system implements Caesar cipher algorithm . Caesar cipher is the first recorded substitution encryption algorithm. Caesar cipher is categorized under symmetric cryptography.<br />
<p>Requirements of Symmetric cryptography algorithm are:<br />
<ul><li><i>encryption algorithm</i></li>
<li><i>Decryption algorithm</i></li>
<li><i>Secure key</i></li>
</ul></p><p><img style="
float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 198px;"
src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiobJX8SU1ikEqF2tUPUv1Dn1PupmMfpXMPf0xIdERGTwcMJdzRF00T-bFuOTzH8AneaR9yf46tvvy6W35_fjCVZ3BUTbdzYcHVTHCRVfYJTUB5OmOVkf7Ob3H2EKlblvxMlM3vOiw53YY/s320/collaboration.jpg"
border="0"
title:"collaboration diagram"
alt="ColaborationDiagram"
id="BLOGGER_PHOTO_ID_5505238330553359970"
style="vertical-align:baseline;text-align:bottom" /><br />
</p><br />
<div align="left"><br />
<br />
<br />
<br />
<br />
<br />
<br />
<p><br />
<h2>3. System Analysis and Design</h2><h2>3.1 The System Static Structure</h2></p><p>I implemented the encryption algorithm in the method <i>encrypt()</i> in the Aglet <i>Encrypt</i>, and decryption algorithm in the method <i>Decrypt()</i> in aglet <i>Decrypt</i> <br />
This <i>Encrypt</i> and <i>Decrypt</i> aglets are supported by the members of the <i>Global</i> class , that all their members can be seen and shared by all aglets in the package .The class <i>Global</i> has an array of characters helps to token clear user name and password into tokens each token is a character. The algorithms of the system (encryption/decryption) algorithms based on conversion the characters to its ASCII code and vice versa. This system is the implementation of Caesar cipher algorithm that has to do with upper case and lower case characters only. The Integer variables (<i>_AT_HOME</i>,<i>_At_REMOTE</i> ,<i> _Back_AT_HOME</i>, <i>_STATEs</i> ) control the action of aglet in its method <i>run()</i><br />
</p><h2>3.2 The System Dynamic Process</h2><p>The class <i>Father</i> instantiates <i>Encrypt</i> and <i>Decrypt</i> aglets.<i> Encrypt</i> aglet dispatches to the host <i>atp://OMAR-PC:1024</i> from the home <i>atp://OMAR-PC:4434</i> .At remote host the aglet can read secret values from the file <i>c:\Secret.txt</i>as clear text.<br />
<br />
I mean by the secret information is the user name and the password .each one of them loaded from the file to a separate string. The user name stored in the variable <i>userName</i> and <i>password</i> in <i>password</i>. The string stores in array of characters using java predefined methods that act as preparing step before calling <i>encrypt()</i> method. The method <i>encrypt()</i> move each character three forwarding steps in alphabetical order .Calling the method <i>encrypt()</i> , the elements of the array of characters stored in a string using the global method <i>array_in_string()</i>.<br />
</p><p>Aglet <i>Encrypt</i> Now dispatches back to the home carrying encrypted strings (username, password).The <i>Encrypt</i> passes a message that is tabular synchronous message to the <i>Decrypt</i> aglets.The aglet named <i>Decrypt</i> handle the message using <i>public boolen handleMessage(Messagge)</i> method.<br />
The Aglet <i>Encrypt</i> handling the message successfully get the secret information (username, password) using the method <i>getArg (String value)</i>, that called twice. One time to get the user name and store in a <i>username</i>data member and the second to store the password in <i>password</i> data member .each string stored in array of characters for decryption and after decryption the array of characters stored back into the string <br />
</p><p>Let us summarize the encryption/Decryption steps:<br />
<ol><li>user name and password stored in the strings <i>userName</i> and <i> Password </i><br />
<li>The class <i>Encrypt</i> load the values from the file <i>c:\Secret.txt</i></li><br />
</li>
<li>The class <i>Decrypt</i> fetish the value from the tabular message sent by the class <i>Encrypt</i> aglet, when return back to the home</li>
<li>The <i>userName</i> and <i>Password</i> each one passes in the following steps each in turn</li>
<li>Store <i>userName</i>/<i>Password</i> in the global array of characters <i>array_char[]</i></li>
<li>Each character forward/backward according to the method <i>encrypt</i> or <i>Decrypt</i> three steps in alphabetical order</li>
<li>After calling <i>encrypt()</i> or <i>Decrypt()</i> the array of characters character by character grouped back into the string “userName” or “Password”</li>
</ol><h2>3.3 Relationship Model</h2><ol><li>The Aglets <i>Encrypt</i>/<i>Decrypt</i> instantiated from the same Aglet <i>Father</i><br />
</li>
<li><i>Decrypt Aglet</i>Decrypt Aglet remains nearly doing nothing till the Message passes from the “Encrypt” aglet</li>
<li>both aglets use the same instances of the arrays: <i>int array_int []</i> and <i>char array_char []</i> <br />
</li>
</ol></p><h2>4. Role of Aglets</h2><h3>The Aglet <i>Father</i></h3><p><ol><li>instantiates the aglets <i>Encrypt</i> and <i>Decrypt</i></li>
<li>Provides the public objects named “encryptProxy” and “decryptProxy” of type <i>AgletProxy</i> Class .And so, the Aglet named <i>Encrypt</i> can send the message from <i>Encrypt</i> Aglet to <i>Decrypt</i> aglet</li>
</ol></p><br />
<h3>The Aglet <i>Encrypt</i> </h3><p><ol><li>Pass over the network to the host <i>atp://OMAR-PC1024</i></li>
<li>At remote host loads the secret information as clear text</li>
<li>Encrypt the secret information</li>
<li>Return back to the home <i>atp: //OMAR-PC:4434</i> with encrypted data. At home passes the encrypted information to the aglet “Decrypt”</li>
</ol></p><br />
<h3>The Aglet <i>Decrypt</i></h3><p><ol><li>Handle the Message from the aglet <i>Decrypt</i> and before only do nothing waits for this message at the home <i>atp://OMAR-PC:4434</i> </li>
<li>Decryption of the secret information</li>
The below screen shot represents the arrival of aglet <i>Encrypt</i> to the host <i>atp://OMAR-PC:1024</i> .where load secret information and encrypt them then return back to home <i>atp://OMAR-PC:4434</i> </ol></p><br />
<br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin8mn4VxTSgzIfrtm2wO-o2VBRVaD6Opbh63WXK56wFw7vItUpnaHCNcfXfWlSE-__HR-boMkBLcB94-iw9anSSDCGemiZuBvwGPdoG8odCykwYw0ZFHPswurI61DXSUgx3axY0ZTaSvI/s1600/shot1.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 189px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin8mn4VxTSgzIfrtm2wO-o2VBRVaD6Opbh63WXK56wFw7vItUpnaHCNcfXfWlSE-__HR-boMkBLcB94-iw9anSSDCGemiZuBvwGPdoG8odCykwYw0ZFHPswurI61DXSUgx3axY0ZTaSvI/s320/shot1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5505234762238638994" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The below shot represents the “Encrypt”,returning to home and pass to “Decrypt” that decrypt and display the secret information<br />
<br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9f6g8E1dlrx971DgDUOWAatdWgvvC9hSmzel7vj0cHwivWXI48Wv86yPbDIwaPQbgLwZrOcaU0pmrs3nnXsCfmNowjVKltct-2SJ7QaEnZ8ONUM56S9vZ5TNDq2RZGKTZ3YPNM8DBblk/s1600/shot2.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 134px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9f6g8E1dlrx971DgDUOWAatdWgvvC9hSmzel7vj0cHwivWXI48Wv86yPbDIwaPQbgLwZrOcaU0pmrs3nnXsCfmNowjVKltct-2SJ7QaEnZ8ONUM56S9vZ5TNDq2RZGKTZ3YPNM8DBblk/s320/shot2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5505236079613110050" /></a><br />
<br />
</div>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-90248315129069481882010-08-14T14:34:00.000+03:002011-12-23T20:47:13.873+02:00My Experience With Mobile Agent<p style="text-align:left;color:black" dir="rtl" style="text-align: left;font-style:normal">I took the Mobile agent course under advanced topic in Jami'at Al-Ulum Al-Tatbiqiya,with the Dr. Faiz Al-Shroof .This course based on the text book "PROGRAMMING AND DEBLOYING JAVA MOBILE AGENTS" by Danny B.Lang/Misturu Oshima and on the slides prepared by Dr. Faiz Al-Shroof.<br />
I developed my own agents using ASDK (agent software development kit), I installed on my Windows Vista laptop , the instruction to install this framework is given to me by my Schoolmate Othman Adarbh , my developed agents developed on classes and libraries at JSDK (java software development kit) and ASDK (agent software kit), that ASDK added a new classes and libraries based on the Java CLI (command language infrastructure).Being a professional Java SE developer , I did well with this course and I got 88% as a final mark at this course , and I developed an interesting agents scenario all prodded to develop especially the security agent scenario I will discuss later in this blog<br />
</p>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0tag:blogger.com,1999:blog-525206061718248496.post-91812589580125530242010-08-14T13:48:00.000+03:002010-08-29T21:06:10.033+03:00About Mobile Agent<div style="color:red">The below in this post is my choose from (world wide web) about Aglet and Java mobile Agent to help the reader to understand the further posts and the reference is in the tail of the current post </div><p style="text-align:left;color:black" dir="rtl" style="text-align: left;font-style:normal"><div dir="rtl" style="text-align:left;"><h2>What is the Mobile Agent</h2>In computer science, a mobile agent is a composition of computer software and data which is able to migrate (move) from one computer to another autonomously and continue its execution on the destination computer.<br />
<h2>Definition and overview</h2>A Mobile Agent, namely, is a type of software agent, with the feature of autonomy, social ability, learning, and most importantly, mobility.<br />
More specifically, a mobile agent is a process that can transport its state from one environment to another, with its data intact, and be capable of performing appropriately in the new environment. Mobile agents decide when and where to move. Movement is often evolved from RPC methods. Just as a user directs an Internet browser to "visit" a website (the browser merely downloads a copy of the site or one version of it in the case of dynamic web sites), similarly, a mobile agent accomplishes a move through data duplication. When a mobile agent decides to move, it saves its own state, transports this saved state to the new host, and resumes execution from the saved state.<br />
A mobile agent is a specific form of mobile code. However, in contrast to the Remote evaluation and Code on demand programming paradigms, mobile agents are active in that they can choose to migrate between computers at any time during their execution. This makes them a powerful tool for implementing distributed applications in a computer network.<br />
An open multi-agent systems (MAS) is a system in which agents, that are owned by a variety of stakeholders, continuously enter and leave the system.<br />
<h2>Reputation and Trust</h2>The following are general concerns about Trust and Reputation in Mobile Agent research:<ol><li>Source of trust information<ul><li> Direct experience</li>
<li>Witness information</li>
<li>Role-based rules</li>
<li>Third-party references</li></ul></li>
<li>How trust value is calculated</li>
<li>Overall trust value</li>
</ol><h2>What are the differences between trust and reputation systems?</h2>Trust systems produce a score that reflects the relying party’s subjective view of an entity’s trustworthiness, whereas reputation systems produce an entity’s (public) reputation score as seen by the whole community.<br />
<h2>Advantages</h2>Some advantages which mobile agents have over conventional agents:<br />
* Computation bundles - converts computational client/server round trips to relocatable data bundles, reducing network load.<br />
* Parallel processing -asynchronous execution on multiple heterogeneous network hosts<br />
* Dynamic adaptation - actions are dependent on the state of the host environment<br />
* Tolerant to network faults - able to operate without an active connection between client and server<br />
* Flexible maintenance - to change an agent's actions, only the source (rather than the computation hosts) must be updated<br />
One particular advantage for remote deployment of software includes increased portability thereby making system requirements less influential.<br />
<h2>What is Aglet</h2>Aglets is a Java based mobile agent platform and library for building mobile agents based applications. An aglet is a Java agent which can autonomously and spontaneously move from one host to another carrying a piece of code with it. It can be programmed to execute at a remote host and show different behaviours at different hosts. Java based security implementations take care of authorised access to local resources at the remote hosts.<br />
Aglets was originally developed by Mitsuru Oshima ("大島 満") and Danny Lange at the IBM Tokyo Research Laboratory. The original name of the project was AWB (Aglets WorkBench) and IBM was responsible for most of the 1.x release. However the project is now hosted at SourceForge.net as an open source project, where it is distributed under the IBM Public License. In the beginning, the SourceForge releases had been only bug-fix ones, but 2.x series(most of which came from open source community only) had better security and thread management. It now includes a log4j based logging system and a few bug-fixes of the older versions.<br />
Aglets is completely written in Java, thus allowing a high portability of both the agents and the platform. Aglets includes both a complete Java mobile agent platform, with a stand-alone server called Tahiti, and a library that allows developers to build mobile agents and to embed the Aglets technology in their applications.<br />
No new releases of Aglets have been made since 2001, although an updated users manual was released in 2004. The future of the project is unclear.<br />
The Aglets Software Development Kit (ASDK) is a framework and environment for developing and running mobile agents. Mobile Agents are a type of software agents that have the unique ability to transport themselves from one system to another. Doing so, an <br />
<h2>Tools to develop Mobile Agent</h2>The Aglets Software Development Kit (ASDK) is a framework and environment for developing and running mobile agents. Mobile Agents are a type of software agents that have the unique ability to transport themselves from one system to another. Doing so, an <br />
References :<br />
http://en.wikipedia.org/wiki/Aglets<br />
<br />
http://en.wikipedia.org/wiki/Mobile_agent<br />
<br />
http://sourceforge.net/projects/aglets/<br />
<br />
</div></p>Omar Adnan Isaidhttp://www.blogger.com/profile/14073273978004495341noreply@blogger.com0