برگزیده های پرشین تولز

C++ Builder and Multi-tired Applications

hkiani

کاربر تازه وارد
تاریخ عضویت
18 آگوست 2004
نوشته‌ها
21
لایک‌ها
0
محل سکونت
Khorasan, Iran
آيا يكي از دوستان برنامه‌نويس با سي‌بيلدر مي‌تواند يك دورنما از نحوه‌ي نوشتن برنامه‌هاي چندكاربره در اختيار من قرار دهد؟
البته توضيحات مبسوطي در راهنماي سي‌بيلدر موجود است كه من شروع به خواندن آن كرده‌ام ولي بخاطر وسيع بودن موضوع داشتن يكسري اطلاعات كلي‌تر كمك زيادي به من مي‌كند.
لطفا راهنمايي بفرماييد؛ متشكرم.
 

sefrvayek

Registered User
تاریخ عضویت
23 ژانویه 2003
نوشته‌ها
559
لایک‌ها
5
سن
43
محل سکونت
Iran
خدمت شما عرض كنم كه برنامه چند كاربره با برنامه multi-tier تفاوت داره. در نوشتن برنامه چند لايه يا همون multi-tier از pattern ي بنام facade استفاده ميشه. اين بحث مربوط به معماري نرم افزاره و عموما از زبان برنامه نويسي مستقل ه. من آشناييم با سي بيلدر محدوده ولي اگه خواستيد ميتونم راجع به معماري چند لايه اطلاعاتي بهتون بدم.
 

hkiani

کاربر تازه وارد
تاریخ عضویت
18 آگوست 2004
نوشته‌ها
21
لایک‌ها
0
محل سکونت
Khorasan, Iran
از پاسخ شما ممنونم؛ شايد بهتر باشد منظور خودم را دقيق‌تر بيان كنم. منظور من از سيستم چند كاربره (اميدوارم كه اين اصطلاح را اشتباه بكار نبرده باشم) اين است كه مثلا در يك شركت از چند كامپيوتر بتوان به طور هم زمان با يك بانك اطلاعاتي كه روي يكي از كامپيوترهاي همان شركت است استفاده نمود. كامپيوترها نيز بصورت شبكه به هم وصلند.
 

sefrvayek

Registered User
تاریخ عضویت
23 ژانویه 2003
نوشته‌ها
559
لایک‌ها
5
سن
43
محل سکونت
Iran
آها... بسيار خوب. نوشتن يه برنامه چند كاربره كار چندان سختي نيست. يك database داشته باشين داخل يه جدول اطلاعات كاربر ها رو ذخيره كنين پسوردشون رو hash كنين. منوهاي برنامتون رو با توجه به دسترسي هاي كاربر ها فعال و غير فعال كنين. حتما object admin داشته باشين كه singleton باشه. multithread بنويسين ولي زياده روي نكنين. البته اينها رو همه كلي گفتم. شايد احتمالا خودتون بهتر بدونين.
 

hkiani

کاربر تازه وارد
تاریخ عضویت
18 آگوست 2004
نوشته‌ها
21
لایک‌ها
0
محل سکونت
Khorasan, Iran
آيا مي‌توانيد در مورد هر كدام از مباحث مطرح شده‌ي خودتان بيشتر توضيح بدهيد. من در اين زمينه زياد كار نكرده‌ام.
از چه نوع ديتابيسي بهتر است يا لازم است استفاده كنم (براي برنامه‌هاي تك‌كاربره‌ي خود از پيش‌فرض سي‌بيلدر يعني پارادوكس استفاده مي‌كنم، ولي به نظرم مي‌رسد در اين جا بايد از بانك‌هاي ديگري استفاده شود).
لطفا برايم توضيح دهيد برنامه‌ام بايد داراي چه قسمت‌هاي اساسي باشد. (چه در قسمت بانك اطلاعاتي و چه در قسمت خود نرم‌افزار). اگر اختصاص به محيط سي‌بيلدر هم نداشت باز ممنون مي‌شوم.
با تشكر فراوان
 

sefrvayek

Registered User
تاریخ عضویت
23 ژانویه 2003
نوشته‌ها
559
لایک‌ها
5
سن
43
محل سکونت
Iran
والا انتخابهاي زيادي دارين.(اگه انتخاب با خودتونه). اگه تحت ويندوز مينويسين ميتونين از sql server استفاده كنين. البته بستگي به تعداد user هاي كه همزمان به db متصلند و حجم db و خيلي عوامل ديگه داره. پارادوكس رو فراموش كنين. اينكه برنامه داراي چه قسمتهايي باشه رو بايد تحليلگر پروژه به شما از طريق مستندات تحليل بگه كه خيلي بحث مفصليه.
 

hkiani

کاربر تازه وارد
تاریخ عضویت
18 آگوست 2004
نوشته‌ها
21
لایک‌ها
0
محل سکونت
Khorasan, Iran
از اين كه پاسخ داديد خيلي ممنونم. آيا مي‌توانيد مفهوم Two Tired Application را بيان كنيد.
و يك سوال ديگر آيا امكان اجراء و تست يك نرم‌افزار چند كاربره بر روي يك كامپيوتر كه جزو شبكه نيست امكان پذير است يا نه؟ خيلي ممنون مي‌شوم اگر پاسخ دهيد.
 

hkiani

کاربر تازه وارد
تاریخ عضویت
18 آگوست 2004
نوشته‌ها
21
لایک‌ها
0
محل سکونت
Khorasan, Iran
با سلام خدمت همگي دوستان و با تشكر از دوست گرامي كه من را راهنمايي كردند.
اخيرا در زمينه‌ي سوال فوق مطالعه كردم، و تصميم دارم نتيجه‌ي مطالعات خود را به صورت مختصر و مفيد براي دوستاني كه مانند من تازه مي‌خواهند با بانك‌هاي اطلاعاتي چندكاربره كار بكنند بنويسم. منبع اين اطلاعات راهنماي سي++ بيلدر 5 مي‌باشد. از دوستان باتجربه‌تر خواهشمندم اين بحث را كامل‌تر كنند.

انواع بانك‌هاي اطلاعاتي:
بانك‌هاي اطلاعاتي بر دو نوعند:
1. local databases: نمونه‌هايي از اين نوع ديتابيس‌ها عبارتند از پارادوكس، اكسس، و dBase. استفاده از ديتابيس‌هاي لوكال محدود به يك سيستم مي‌باشد يعني فقط بر روي يك كامپيوتر قابل استفاده‌اند. اگر چند كاربر به طور هم‌زمان از آن‌ها استفاده كنند از مكانيسم قفل كردن فايل استفاده مي‌كنند به همين خاطر به آن‌ها file-based databases هم گفته مي‌شود. برنامه‌هاي كاربردي كه ديتابيس‌هاي لوكال را مورد استفاده قرار مي‌دهند single tired applications نام دارند (چون هم برنامه‌ي كاربردي و هم ديتابيس بر روي يك سيستم واقع هستند).

2. remote database servers: به عنوان نمونه مي‌توان به Microsoft SQL Server، Oracle، Informix، Sybase و DB2 اشاره كرد. اين نوع از ديتابيس‌ها معمولا بر روي يك كامپيوتر remote واقعند. آن‌ها از زبان SQL استفاده مي‌كنند و براي كلاينت‌ها امكان دسترسي به اطلاعات را فراهم مي‌كنند. به همين خاطر گاهي به آن‌ها Remote Database Management System و يا به اختصار RDBMS گفته مي‌شود. اين بانك‌هاي اطلاعاتي امكان دسترسي هم‌زمان چند كاربر به اطلاعات را فراهم مي‌كنند و به جاي استفاده از مكانيسم قفل كردن كل فايل، از يك مكانيسم انعطاف‌پذيرتر به نام تراكنش (transaction) استفاده مي‌كنند. برنامه‌هاي كاربردي كه از اين بانك‌هاي اطلاعاتي استفاده مي‌كنند two-tired applications يا multi-tired applications ناميده مي‌شوند (چون برنامه‌ي كاربردي و بانك اطلاعاتي بر روي سيستم‌هاي مجزا قرار گرفته‌اند).
InterBase يك نوع بانك اطلاعاتي است كه هم داراي نسخه‌ي لوكال و هم داراي نسخه‌ي remote مي‌باشد.
اگر فرصت كردم نتيجه ادامه كارم را نيز خواهم نوشت (براي تازه‌كارها).
 
بالا